src/proof/exportHandler/index.js

/* eslint-disable func-names */
import * as catalogue from './catalogue';

import helpers from './helpers';

export { catalogue, helpers };

/**
 * Export the default epoch version of an AZTEC proof construction method
 *
 * @method getProof
 * @param {string} proofSelector - proof type (e.g. JOIN_SPLIT, MINT etc.) to be exported
 * @param args - rest parameter representing the inputs to a particular proof construction
 * @returns An instance of the selected AZTEC proof
 */
export function getProof(proofSelector, epoch = undefined) {
    const proofEpoch = epoch || catalogue.defaultProofEpochNums[proofSelector];
    const Proof = catalogue.versions[proofSelector][proofEpoch];
    return Proof;
}

/**
 * Set the default proof epoch for which proofs should be exported from
 *
 * @method setDefaultEpoch
 * @param defaultEpochNum - user specified default epoch number
 */
export function setDefaultEpoch(proofSelector, defaultEpochNum) {
    catalogue.defaultProofEpochNums[proofSelector] = defaultEpochNum;
}