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:165
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]> } }