Vote program address.
Modulesolana-haskell-sdk-1.3.0.0GHC2021
Network.Solana.NativePrograms.Vote
Client for the Vote program. Instruction data is bincode-encoded
(u32 little-endian discriminant), like the System and Stake programs.
Covered discriminants: 0, 1, 3, 4, 5, 7 (account-management surface); the
consensus Vote instruction (2) and the remaining vote-state variants
(6, 8-15) are not modeled.
- 3 types
- 9 values
- Packagesolana-haskell-sdk-1.3.0.0
- Exports12
- LanguageGHC2021
- LicenceApache-2.0
- SourceVote.hs
Arguments to initialize a vote account.
Instances5Eq, Show, Generic, Binary, Rep
Eq VoteInitDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteShow VoteInitDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteGeneric VoteInitDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteBinary VoteInitDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.Votetype Rep VoteInit = D1 ('MetaDataDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.Vote"VoteInit"
"Network.Solana.NativePrograms.Vote"
"solana-haskell-sdk-1.3.0.0-JMJNnl7jmEh90dthY33ZzW"
'False) (C1 ('MetaCons"VoteInit"
'PrefixI 'True) ((S1 ('MetaSel ('Just"viNodePubkey"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SolanaPublicKey) :*: S1 ('MetaSel ('Just"viAuthorizedVoter"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SolanaPublicKey)) :*: (S1 ('MetaSel ('Just"viAuthorizedWithdrawer"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SolanaPublicKey) :*: S1 ('MetaSel ('Just"viCommission"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
Which vote authority an operation concerns (bincode u32: 0 voter, 1 withdrawer).
Instances6Bounded, Enum, Eq, Show, Generic, Rep
Bounded VoteAuthorizeDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteEnum VoteAuthorizeDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteEq VoteAuthorizeDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteShow VoteAuthorizeDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteGeneric VoteAuthorizeDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.Votetype Rep VoteAuthorize = D1 ('MetaDataDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.Vote"VoteAuthorize"
"Network.Solana.NativePrograms.Vote"
"solana-haskell-sdk-1.3.0.0-JMJNnl7jmEh90dthY33ZzW"
'False) (C1 ('MetaCons"AuthorizeVoter"
'PrefixI 'False) U1 :+: C1 ('MetaCons"AuthorizeWithdrawer"
'PrefixI 'False) U1)
Vote program instructions (covered subset).
Instances5Eq, Show, Generic, Binary, Rep
Eq VoteInstructionDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteShow VoteInstructionDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteGeneric VoteInstructionDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.VoteBinary VoteInstructionDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.Votetype Rep VoteInstruction = D1 ('MetaDataDefined in solana-haskell-sdk-1.3.0.0 · Network.Solana.NativePrograms.Vote"VoteInstruction"
"Network.Solana.NativePrograms.Vote"
"solana-haskell-sdk-1.3.0.0-JMJNnl7jmEh90dthY33ZzW"
'False) ((C1 ('MetaCons"InitializeAccount"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VoteInit)) :+: (C1 ('MetaCons"Authorize"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SolanaPublicKey) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VoteAuthorize)) :+: C1 ('MetaCons"Withdraw"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))) :+: (C1 ('MetaCons"UpdateValidatorIdentity"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"UpdateCommission"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :+: C1 ('MetaCons"AuthorizeChecked"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VoteAuthorize)))))
Creates instruction to "Initialize a vote account" Receives the new vote account and the initialization arguments (node identity, authorized voter/withdrawer and commission). # Account references 0. `[WRITE]` Uninitialized vote account 1. `[]` Rent sysvar 2. `[]` Clock sysvar 3. `[SIGNER]` New validator identity (node)
Creates instruction to "Authorize a key to send votes or issue a withdrawal" Receives the vote account, the current authority, the new authority and which authority is being changed. # Account references 0. `[WRITE]` Vote account to be updated 1. `[]` Clock sysvar 2. `[SIGNER]` The vote or withdraw authority
Creates instruction to "Withdraw lamports from a vote account" Receives the vote account, the recipient account, the withdraw authority and the number of lamports to withdraw. # Account references 0. `[WRITE]` Vote account to withdraw from 1. `[WRITE]` Recipient account 2. `[SIGNER]` Withdraw authority
Creates instruction to "Update the vote account's validator identity (node pubkey)" Receives the vote account, the new validator identity (which must sign) and the withdraw authority. # Account references 0. `[WRITE]` Vote account to be updated 1. `[SIGNER]` New validator identity (node) 2. `[SIGNER]` Withdraw authority
Creates instruction to "Update the vote account's commission" Receives the vote account, the withdraw authority and the new commission. # Account references 0. `[WRITE]` Vote account to be updated 1. `[SIGNER]` Withdraw authority
Creates instruction to "Authorize a key to send votes or issue a withdrawal", checking that the new authority signs (a safer version of authorizeVote). Receives the vote account, the current authority, the new authority (which must sign) and which authority is being changed. # Account references 0. `[WRITE]` Vote account to be updated 1. `[]` Clock sysvar 2. `[SIGNER]` The vote or withdraw authority 3. `[SIGNER]` The new vote or withdraw authority