Recursive
Recursive: <PublicInputType, PublicOutputType, PrivateInputs>(zkprogram: {
maxProofsVerified: () => Promise<0 | 1 | 2>;
name: string;
privateInputTypes: PrivateInputs;
publicInputType: PublicInputType;
publicOutputType: PublicOutputType;
rawMethods: { [Key in string | number | symbol]: (args: any) => Promise<{ publicOutput: InferProvable<PublicOutputType> }> };
} & { [Key in string | number | symbol]: (args: any) => Promise<{ proof: Proof<InferProvable<PublicInputType>, InferProvable<PublicOutputType>> }> }) => { [Key in string | number | symbol]: RecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> & { if: ConditionalRecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> } } = Recursive_;
Defined in: index.ts:179
Type Parameters
PublicInputType
PublicInputType extends Provable<any>
PublicOutputType
PublicOutputType extends Provable<any>
PrivateInputs
PrivateInputs extends {
[key: string]: Tuple<ProvableType>;
}
Parameters
zkprogram
{
maxProofsVerified: () => Promise<0 | 1 | 2>;
name: string;
privateInputTypes: PrivateInputs;
publicInputType: PublicInputType;
publicOutputType: PublicOutputType;
rawMethods: { [Key in string | number | symbol]: (args: any) => Promise<{ publicOutput: InferProvable<PublicOutputType> }> };
} & { [Key in string | number | symbol]: (args: any) => Promise<{ proof: Proof<InferProvable<PublicInputType>, InferProvable<PublicOutputType>> }> }
Returns
{ [Key in string | number | symbol]: RecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> & { if: ConditionalRecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> } }