Zeth - Zerocash on Ethereum
0.8
Reference implementation of the Zeth protocol by Clearmatics
mpc_tools
mpc_phase2
mpc_coord.cpp
Go to the documentation of this file.
1
// Copyright (c) 2015-2022 Clearmatics Technologies Ltd
2
//
3
// SPDX-License-Identifier: LGPL-3.0+
4
5
#include "
libzeth/circuits/circuit_types.hpp
"
6
#include "
libzeth/circuits/circuit_wrapper.hpp
"
7
#include "
mpc_common.hpp
"
8
#include "zeth_config.h"
9
10
using
Field
=
libzeth::defaults::Field
;
11
12
void
zeth_protoboard
(libsnark::protoboard<Field> &pb)
13
{
14
libzeth::joinsplit_gadget<
15
Field
,
16
libzeth::HashT<Field>
,
17
libzeth::HashTreeT<Field>
,
18
libzeth::ZETH_NUM_JS_INPUTS,
19
libzeth::ZETH_NUM_JS_OUTPUTS,
20
libzeth::ZETH_MERKLE_TREE_DEPTH>
21
js(pb);
22
js.generate_r1cs_constraints();
23
}
24
25
int
main
(
int
argc,
char
**argv)
26
{
27
const
std::map<std::string, mpc_subcommand *>
commands
{
28
{
"linear-combination"
,
mpc_linear_combination_cmd
},
29
{
"dummy-phase2"
,
mpc_dummy_phase2_cmd
},
30
{
"phase2-begin"
,
mpc_phase2_begin_cmd
},
31
{
"phase2-contribute"
,
mpc_phase2_contribute_cmd
},
32
{
"phase2-verify-contribution"
,
mpc_phase2_verify_contribution_cmd
},
33
{
"phase2-verify-transcript"
,
mpc_phase2_verify_transcript_cmd
},
34
{
"create-keypair"
,
mpc_create_keypair_cmd
},
35
};
36
return
mpc_main
(
commands
,
zeth_protoboard
, argc, argv);
37
}
mpc_common.hpp
mpc_dummy_phase2_cmd
mpc_subcommand * mpc_dummy_phase2_cmd
Definition:
mpc_dummy_phase2.cpp:116
commands
Definition:
__init__.py:1
mpc_phase2_contribute_cmd
mpc_subcommand * mpc_phase2_contribute_cmd
Definition:
mpc_phase2_contribute.cpp:167
libzeth::HashTreeT
mimc_compression_function_gadget< FieldT > HashTreeT
Definition:
circuit_types.hpp:28
Field
libzeth::defaults::Field Field
Definition:
mpc_subcommand.hpp:11
main
int main(int argc, char **argv)
Definition:
mpc_coord.cpp:25
zeth_protoboard
void zeth_protoboard(libsnark::protoboard< Field > &pb)
Definition:
mpc_coord.cpp:12
libzeth::BLAKE2s_256
Definition:
blake2s.hpp:24
mpc_main
int mpc_main(const std::map< std::string, mpc_subcommand * > &subcommands, const ProtoboardInitFn &pb_init, int argc, char **argv)
Main entry point into the mpc command for a given circuit.
Definition:
mpc_common.cpp:43
mpc_phase2_verify_transcript_cmd
mpc_subcommand * mpc_phase2_verify_transcript_cmd
Definition:
mpc_phase2_verify_transcript.cpp:214
mpc_phase2_verify_contribution_cmd
mpc_subcommand * mpc_phase2_verify_contribution_cmd
Definition:
mpc_phase2_verify_contribution.cpp:142
circuit_types.hpp
circuit_wrapper.hpp
Field
libzeth::defaults::Field Field
Definition:
mpc_coord.cpp:10
mpc_phase2_begin_cmd
mpc_subcommand * mpc_phase2_begin_cmd
Definition:
mpc_phase2_begin.cpp:119
mpc_linear_combination_cmd
mpc_subcommand * mpc_linear_combination_cmd
Definition:
mpc_linear_combination.cpp:177
mpc_create_keypair_cmd
mpc_subcommand * mpc_create_keypair_cmd
Definition:
mpc_create_keypair.cpp:187
Generated on Mon Nov 28 2022 10:29:03 for Zeth - Zerocash on Ethereum by
1.8.17