Struct cryptoballot::ElectionTransaction[][src]

pub struct ElectionTransaction {
    pub id: Identifier,
    pub authority_public: PublicKey,
    pub trustees: Vec<Trustee>,
    pub trustees_threshold: u8,
    pub authenticators: Vec<Authenticator>,
    pub authenticators_threshold: u8,
    pub mix_config: Option<MixConfig>,
    pub ballots: Vec<Ballot>,
    pub contests: Vec<Contest>,
    pub properties: IndexMap<String, Value>,
}
Expand description

Transaction 1: Election

Fields

id: Identifierauthority_public: PublicKey
Expand description

Election Authority Public Key

The election authority’s public key should be posted in a trusted and well-known location.

If using sawtooth, before you can post an Election transation, you must register an Election Authority’s public key via sawset.

trustees: Vec<Trustee>
Expand description

List of trustees that have been given a secret key share

trustees_threshold: u8
Expand description

Minimum number of trustees needed to reconstruct the secret key and decrypt votes. This is also the number of mixes that will be performed as part of the mixnet

authenticators: Vec<Authenticator>
Expand description

Authenticators who can authenticate voters

authenticators_threshold: u8
Expand description

Mininum number of authenticators that might provide a signature for a voter for that voter to post a Vote transaction.

mix_config: Option<MixConfig>
Expand description

Mixnet configuration, None implies no mix-net

ballots: Vec<Ballot>
Expand description

List of ballots that can be cast in this election

contests: Vec<Contest>
Expand description

List of contests in this election

properties: IndexMap<String, Value>
Expand description

Application specific properties.

Hashmaps are not allowed because their unstable ordering leads to non-determinism.

Implementations

impl ElectionTransaction[src]

pub fn new(authority_public: PublicKey) -> Self[src]

Create a new ElectionTransaction

The returned SecretKey should be distributed to the trustees using Shamir Secret Sharing

pub fn build_id(election_id: [u8; 15]) -> Identifier[src]

Create a new identifier for an election

pub fn get_authenticator(&self, authn_id: Uuid) -> Option<&Authenticator>[src]

Get an authenticator with the given ID

pub fn get_trustee(&self, trustee_index: u8) -> Option<&Trustee>[src]

Get a trustee with the given ID

pub fn get_ballot(&self, ballot_id: &str) -> Option<&Ballot>[src]

pub fn get_full_trustees(&self) -> Vec<Trustee>[src]

Get all trustees with all info

Trait Implementations

impl AsRef<ElectionTransaction> for SignedTransaction[src]

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

Performs the conversion.

impl Clone for ElectionTransaction[src]

fn clone(&self) -> ElectionTransaction[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 ElectionTransaction[src]

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

Validate the election 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<'de> Deserialize<'de> for ElectionTransaction[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 ElectionTransaction[src]

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

Performs the conversion.

impl Serialize for ElectionTransaction[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 ElectionTransaction

impl Send for ElectionTransaction

impl Sync for ElectionTransaction

impl Unpin for ElectionTransaction

impl UnwindSafe for ElectionTransaction

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]