Function tallytree::generate::generate_tree[][src]

pub fn generate_tree(
    votes: Vec<(VoteReference, TallyList)>,
    nodes_use_cache: bool
) -> Result<NodeRef, String>
Expand description

Generate a merkle tally tree from votes.

Example:

use tallytree::generate::generate_tree;
// Generate a tree where vote reference where:
// - 0xaa votes for option 0,
// - 0xbb votes for option 1,
// - 0xcc votes for option 0
let tree = generate_tree(vec![
    ([0xaa; 32], vec![1, 0]),
    ([0xbb; 32], vec![0, 1]),
    ([0xcc; 32], vec![1, 0]),
], false);

The above example results in a tree like this:

           A
         /  \
        B    C
       / \   | \
      D   E  F  Ø
      |   |  |
      aa  bb cc