Zecale - Reconciling Privacy and Scalability on Smart-Contract Chains  0.5
Reference implementation of the Zecale protocol by Clearmatics
Public Member Functions | List of all members
libzecale::application_pool< nppT, nsnarkT, NumProofs > Class Template Reference

#include <application_pool.hpp>

Public Member Functions

 application_pool (const std::string &name, const typename nsnarkT::verification_key &vk)
 
 application_pool (const application_pool &other)=delete
 
application_pooloperator= (const application_pool &other)=delete
 
const std::string & name () const
 
const nsnarkT::verification_key & verification_key () const
 
void add_tx (const nested_transaction< nppT, nsnarkT > &tx)
 Add transaction to the pool. More...
 
size_t tx_pool_size () const
 Returns the number of transactions in the _tx_pool. More...
 
size_t get_next_batch (std::array< nested_transaction< nppT, nsnarkT >, NumProofs > &batch)
 

Detailed Description

template<typename nppT, typename nsnarkT, size_t NumProofs>
class libzecale::application_pool< nppT, nsnarkT, NumProofs >

An application_pool represents the pool of proofs to be aggregated that are for the same relation.

For example, we can have an application_pool to aggregate Zeth proofs and an other aggregation_pool to aggregate proofs for other type of statements.

Definition at line 22 of file application_pool.hpp.

Constructor & Destructor Documentation

◆ application_pool() [1/2]

template<typename nppT , typename nsnarkT , size_t NumProofs>
libzecale::application_pool< nppT, nsnarkT, NumProofs >::application_pool ( const std::string &  name,
const typename nsnarkT::verification_key &  vk 
)

◆ application_pool() [2/2]

template<typename nppT , typename nsnarkT , size_t NumProofs>
libzecale::application_pool< nppT, nsnarkT, NumProofs >::application_pool ( const application_pool< nppT, nsnarkT, NumProofs > &  other)
delete

Member Function Documentation

◆ add_tx()

template<typename nppT , typename nsnarkT , size_t NumProofs>
void libzecale::application_pool< nppT, nsnarkT, NumProofs >::add_tx ( const nested_transaction< nppT, nsnarkT > &  tx)

Add transaction to the pool.

◆ get_next_batch()

template<typename nppT , typename nsnarkT , size_t NumProofs>
size_t libzecale::application_pool< nppT, nsnarkT, NumProofs >::get_next_batch ( std::array< nested_transaction< nppT, nsnarkT >, NumProofs > &  batch)

Fill the array with transactions popped from the queue. Returns the number of transactions placed in the array. Any remaining entries are unntouched, and should be ignored by the caller.

◆ name()

template<typename nppT , typename nsnarkT , size_t NumProofs>
const std::string& libzecale::application_pool< nppT, nsnarkT, NumProofs >::name ( ) const

◆ operator=()

template<typename nppT , typename nsnarkT , size_t NumProofs>
application_pool& libzecale::application_pool< nppT, nsnarkT, NumProofs >::operator= ( const application_pool< nppT, nsnarkT, NumProofs > &  other)
delete

◆ tx_pool_size()

template<typename nppT , typename nsnarkT , size_t NumProofs>
size_t libzecale::application_pool< nppT, nsnarkT, NumProofs >::tx_pool_size ( ) const

Returns the number of transactions in the _tx_pool.

◆ verification_key()

template<typename nppT , typename nsnarkT , size_t NumProofs>
const nsnarkT::verification_key& libzecale::application_pool< nppT, nsnarkT, NumProofs >::verification_key ( ) const

Function that returns the verification key associated with this application. This constitutes part of the witness of the aggregator circuit.


The documentation for this class was generated from the following file: