Proof
Extended by
Type parameters
• Input
• Output
Constructors
new Proof(__namedParameters)
new Proof<Input, Output>(__namedParameters: {
maxProofsVerified: 0 | 1 | 2;
proof: unknown;
publicInput: Input;
publicOutput: Output;
}): Proof<Input, Output>
Parameters
• __namedParameters
• __namedParameters.maxProofsVerified: 0 | 1 | 2
• __namedParameters.proof: unknown
• __namedParameters.publicInput: Input
• __namedParameters.publicOutput: Output
Returns
Proof\<Input, Output>
Source
lib/proof-system/zkprogram.ts:140
Properties
maxProofsVerified
maxProofsVerified: 0 | 1 | 2;
Source
lib/proof-system/zkprogram.ts:95
proof
proof: unknown;
Source
lib/proof-system/zkprogram.ts:94
publicInput
publicInput: Input;
Source
lib/proof-system/zkprogram.ts:92
publicOutput
publicOutput: Output;
Source
lib/proof-system/zkprogram.ts:93
shouldVerify
shouldVerify: Bool;
Source
lib/proof-system/zkprogram.ts:96
publicInputType
static publicInputType: FlexibleProvablePure<any>;
Source
lib/proof-system/zkprogram.ts:84
publicOutputType
static publicOutputType: FlexibleProvablePure<any>;
Source
lib/proof-system/zkprogram.ts:85
tag()
static tag: () => {
name: string;
};
Returns
{
name: string;
}
name
name: string;
Source
lib/proof-system/zkprogram.ts:86
Methods
toJSON()
toJSON(): JsonProof
Returns
Source
lib/proof-system/zkprogram.ts:104
verify()
verify(): void
Returns
void
Source
lib/proof-system/zkprogram.ts:98
verifyIf()
verifyIf(condition: Bool): void
Parameters
• condition: Bool
Returns
void
Source
lib/proof-system/zkprogram.ts:101
dummy()
static dummy<Input, OutPut>(
publicInput: Input,
publicOutput: OutPut,
maxProofsVerified: 0 | 1 | 2,
domainLog2: number): Promise<Proof<Input, OutPut>>
Dummy proof. This can be useful for ZkPrograms that handle the base case in the same method as the inductive case, using a pattern like this:
method(proof: SelfProof<I, O>, isRecursive: Bool) {
proof.verifyIf(isRecursive);
// ...
}
To use such a method in the base case, you need a dummy proof:
let dummy = await MyProof.dummy(publicInput, publicOutput, 1);
await myProgram.myMethod(dummy, Bool(false));
Note: The types of publicInput and publicOutput, as well as the maxProofsVerified parameter,
must match your ZkProgram. maxProofsVerified is the maximum number of proofs that any of your methods take as arguments.
Type parameters
• Input
• OutPut
Parameters
• publicInput: Input
• publicOutput: OutPut
• maxProofsVerified: 0 | 1 | 2
• domainLog2: number= 14
Returns
Promise\<Proof\<Input, OutPut>>
Source
lib/proof-system/zkprogram.ts:178
fromJSON()
static fromJSON<S>(this: S, __namedParameters: JsonProof): Promise<Proof<InferProvable<S["publicInputType"]>, InferProvable<S["publicOutputType"]>>>
Type parameters
• S extends Subclass\<typeof Proof>
Parameters
• this: S
• __namedParameters: JsonProof
Returns
Promise\<Proof\<InferProvable\<S["publicInputType"]>, InferProvable\<S["publicOutputType"]>>>