mina_tree/proofs/
mod.rs

1use field::FieldWitness;
2use poly_commitment::evaluation_proof::OpeningProof;
3
4pub mod accumulator_check;
5pub mod block;
6pub mod caching;
7mod circuit_blobs;
8pub mod constants;
9mod conv;
10pub mod field;
11pub mod group_map;
12pub mod merge;
13pub mod numbers;
14pub mod opt_sponge;
15mod prover;
16pub mod provers;
17pub mod public_input;
18pub mod step;
19pub mod to_field_elements;
20pub mod transaction;
21pub mod transition_chain;
22pub mod unfinalized;
23mod urs_utils;
24pub mod util;
25pub mod verification;
26pub mod verifiers;
27pub mod witness;
28pub mod wrap;
29pub mod zkapp;
30
31pub const BACKEND_TICK_ROUNDS_N: usize = 16;
32pub const BACKEND_TOCK_ROUNDS_N: usize = 15;
33
34pub type VerifierIndex<F> = kimchi::verifier_index::VerifierIndex<
35    <F as FieldWitness>::OtherCurve,
36    OpeningProof<<F as FieldWitness>::OtherCurve>,
37>;
38pub type ProverIndex<F> = kimchi::prover_index::ProverIndex<
39    <F as FieldWitness>::OtherCurve,
40    OpeningProof<<F as FieldWitness>::OtherCurve>,
41>;
42pub type ProverProof<F> = kimchi::proof::ProverProof<
43    <F as FieldWitness>::OtherCurve,
44    OpeningProof<<F as FieldWitness>::OtherCurve>,
45>;
46
47pub fn generate_tx_proof(
48    params: transaction::TransactionParams,
49) -> anyhow::Result<wrap::WrapProof> {
50    use mina_curves::pasta::Fp;
51    use witness::Witness;
52    let mut w: Witness<Fp> = Witness::new::<constants::StepTransactionProof>();
53    transaction::generate_tx_proof(params, &mut w)
54}
55pub fn generate_merge_proof(params: merge::MergeParams) -> anyhow::Result<wrap::WrapProof> {
56    use mina_curves::pasta::Fp;
57    use witness::Witness;
58    let mut w: Witness<Fp> = Witness::new::<constants::StepMergeProof>();
59    merge::generate_merge_proof(params, &mut w)
60}
61pub fn generate_block_proof(params: block::BlockParams) -> anyhow::Result<wrap::WrapProof> {
62    use mina_curves::pasta::Fp;
63    use witness::Witness;
64    let mut w: Witness<Fp> = Witness::new::<constants::StepBlockProof>();
65    block::generate_block_proof(params, &mut w)
66}
67pub use zkapp::generate_zkapp_proof;