mithril-stm 0.10.5

A Rust implementation of Mithril Stake-based Threshold Multisignatures (STMs).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::membership_commitment::MerkleTreeSnarkLeaf;

use super::ClosedRegistrationEntry;

/// The type used for committing signer registrations for the Snark proof system.
pub type RegistrationEntryForSnark = MerkleTreeSnarkLeaf;

impl From<ClosedRegistrationEntry> for Option<RegistrationEntryForSnark> {
    fn from(entry: ClosedRegistrationEntry) -> Option<RegistrationEntryForSnark> {
        let vk = entry.get_verification_key_for_snark()?;
        let target = entry.get_lottery_target_value()?;
        Some(MerkleTreeSnarkLeaf(vk, target))
    }
}