Struct cryptoballot::VoteTransaction[][src]

pub struct VoteTransaction {
    pub id: Identifier,
    pub election: Identifier,
    pub ballot_id: String,
    pub encrypted_votes: Vec<EncryptedVote>,
    pub anonymous_key: PublicKey,
    pub authentication: Vec<Authentication>,
}
Expand description

Transaction 6: Vote

A vote transaction is posted by the voter, and contains their encrypted vote for the contests defined by a ballot.

The vote contains no idenifying information about the voter, allowing them to vote anonymously.

Before a voter can post a VoteTransaction, they must first be authenticated by a quorum of authenticator, who certify that they can vote this election and ballot.

Fields

id: Identifierelection: Identifierballot_id: Stringencrypted_votes: Vec<EncryptedVote>anonymous_key: PublicKey
Expand description

The public key used to anonymized the voter. The voter should not reveal that they own this key - doing so will leak their real identity.

authentication: Vec<Authentication>
Expand description

A set of authentications, certifying that the anonymous_key provided can vote this election and ballot.

Implementations

impl VoteTransaction[src]

pub fn new(
    election_id: Identifier,
    ballot_id: String,
    encrypted_votes: Vec<EncryptedVote>
) -> (Self, SecretKey)
[src]

Create a new vote transaction.

pub fn build_id(election_id: Identifier, public_key: &PublicKey) -> Identifier[src]

Trait Implementations

impl AsRef<VoteTransaction> for SignedTransaction[src]

fn as_ref(&self) -> &VoteTransaction[src]

Performs the conversion.

impl Clone for VoteTransaction[src]

fn clone(&self) -> VoteTransaction[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl CryptoBallotTransaction for VoteTransaction[src]

fn validate_tx<S: Store>(&self, store: &S) -> Result<(), ValidationError>[src]

Validate the vote transaction

fn id(&self) -> Identifier[src]

Get the transaction ID

fn public(&self) -> Option<PublicKey>[src]

Get the transaction public key, if there is one

fn election_id(&self) -> Identifier[src]

Get the transaction election ID

fn tx_type() -> TransactionType[src]

Get the transaction Type

fn as_bytes(&self) -> Vec<u8>[src]

Serialize the transaction to bytes for signing

impl Debug for VoteTransaction[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for VoteTransaction[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl From<SignedTransaction> for VoteTransaction[src]

fn from(tx: SignedTransaction) -> Self[src]

Performs the conversion.

impl Serialize for VoteTransaction[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

impl RefUnwindSafe for VoteTransaction

impl Send for VoteTransaction

impl Sync for VoteTransaction

impl Unpin for VoteTransaction

impl UnwindSafe for VoteTransaction

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T[src]

pub const ALIGN: usize[src]

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize[src]

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T[src]

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T[src]

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)[src]

Drops the object pointed to by the given pointer. Read more

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

pub fn vzip(self) -> V[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]