Recursive
function 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 keyof PrivateInputs]: RecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> & { if: ConditionalRecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> } }
Defined in: index.ts:163
Type Parameters
• PublicInputType extends Provable
<any
>
• PublicOutputType extends Provable
<any
>
• PrivateInputs extends {}
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 keyof PrivateInputs]: RecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> & { if: ConditionalRecursiveProver<InferProvable<PublicInputType>, PublicInputType, InferProvable<PublicOutputType>, PrivateInputs[Key]> } }