def verify(sbb_filename): """ Perform all possible verifications on the given file. """ assert isinstance(sbb_filename, str) and len(sbb_filename) > 0 sbb = sv.load(sbb_filename) db = dict() # master database for storing stuff sbb_dict = check_headers(sbb) print_sizes(sbb_dict) check_attributes(sbb_dict) check_monotonic_time(sbb) check_consistent_election_ids(sbb) read_races(sbb_dict, db) read_n_voters(sbb_dict, db) read_rows_cols_n_reps_threshold_indent(sbb_dict, db) read_cast_votes(sbb_dict, db) read_receipts(sbb_dict, db) read_tally(sbb_dict, db) read_output_commitments(sbb_dict, db) read_t_values(sbb_dict, db) read_verifier_challenges(sbb_dict, sbb, db) check_receipts(sbb_dict, db) check_opened_output_commitments(sbb_dict, db) check_opened_output_commitment_tallies(sbb_dict, db) check_input_consistency(sbb_dict, db) print('all verifications passed; election outcome verified!!')
def get_election_parameters(): """ Get election parameters if available, from a file. Else use default. """ election_parameters = default_election_parameters if len(sys.argv) > 1: election_id = sys.argv[1] election_parameter_filename = election_id + ".parameters.txt" election_parameters = sv.load(election_parameter_filename) return election_parameters