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"
]>>>