Struct spl_governance::state::vote_record::VoteChoice
source · pub struct VoteChoice {
pub rank: u8,
pub weight_percentage: u8,
}
Expand description
Voter choice for a proposal option In the current version only 1) Single choice, 2) Multiple choices proposals and 3) Weighted voting are supported. In the future versions we can add support for 1) Quadratic voting and 2) Ranked choice voting
Fields§
§rank: u8
The rank given to the choice by voter Note: The field is not used in the current version
weight_percentage: u8
The voter’s weight percentage given by the voter to the choice
Implementations§
source§impl VoteChoice
impl VoteChoice
sourcepub fn get_choice_weight(&self, voter_weight: u64) -> Result<u64, ProgramError>
pub fn get_choice_weight(&self, voter_weight: u64) -> Result<u64, ProgramError>
Returns the choice weight given the voter’s weight
Trait Implementations§
source§impl BorshDeserialize for VoteChoicewhere
u8: BorshDeserialize,
impl BorshDeserialize for VoteChoicewhere
u8: BorshDeserialize,
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
source§impl BorshSchema for VoteChoicewhere
u8: BorshSchema,
impl BorshSchema for VoteChoicewhere
u8: BorshSchema,
source§fn declaration() -> Declaration
fn declaration() -> Declaration
Get the name of the type without brackets.
source§fn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definitions_recursively( definitions: &mut HashMap<Declaration, Definition> )
Recursively, using DFS, add type definitions required for this type. For primitive types
this is an empty map. Type definition explains how to serialize/deserialize a type.
source§fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition>
)
fn add_definition( declaration: String, definition: Definition, definitions: &mut HashMap<String, Definition> )
Helper method to add a single type definition to the map.
fn schema_container() -> BorshSchemaContainer
source§impl BorshSerialize for VoteChoicewhere
u8: BorshSerialize,
impl BorshSerialize for VoteChoicewhere
u8: BorshSerialize,
source§impl Clone for VoteChoice
impl Clone for VoteChoice
source§fn clone(&self) -> VoteChoice
fn clone(&self) -> VoteChoice
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for VoteChoice
impl Debug for VoteChoice
source§impl PartialEq for VoteChoice
impl PartialEq for VoteChoice
source§fn eq(&self, other: &VoteChoice) -> bool
fn eq(&self, other: &VoteChoice) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for VoteChoice
impl StructuralEq for VoteChoice
impl StructuralPartialEq for VoteChoice
Auto Trait Implementations§
impl RefUnwindSafe for VoteChoice
impl Send for VoteChoice
impl Sync for VoteChoice
impl Unpin for VoteChoice
impl UnwindSafe for VoteChoice
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more