Proof
Class: Proof<Input, Output>
Type parameters
Name |
---|
Input |
Output |
Hierarchy
Proof
Table of contents
Constructors
Properties
Methods
Constructors
constructor
• new Proof<Input
, Output
>(«destructured»
)
Type parameters
Name |
---|
Input |
Output |
Parameters
Name | Type |
---|---|
«destructured» | Object |
› maxProofsVerified | 0 | 2 | 1 |
› proof | unknown |
› publicInput | Input |
› publicOutput | Output |
Defined in
Properties
maxProofsVerified
• maxProofsVerified: 0
| 2
| 1
Defined in
proof
• proof: unknown
Defined in
publicInput
• publicInput: Input
Defined in
publicOutput
• publicOutput: Output
Defined in
shouldVerify
• shouldVerify: Bool
Defined in
publicInputType
▪ Static
publicInputType: FlexibleProvablePure
<any
>
Defined in
publicOutputType
▪ Static
publicOutputType: FlexibleProvablePure
<any
>
Defined in
tag
▪ Static
tag: () => { name
: string
}
Type declaration
▸ (): Object
Returns
Object
Name | Type |
---|---|
name | string |
Defined in
Methods
toJSON
▸ toJSON(): JsonProof
Returns
Defined in
verify
▸ verify(): void
Returns
void
Defined in
verifyIf
▸ verifyIf(condition
): void
Parameters
Name | Type |
---|---|
condition | Bool |
Returns
void
Defined in
dummy
▸ Static
dummy<Input
, OutPut
>(publicInput
, publicOutput
, maxProofsVerified
, domainLog2?
): 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
Name |
---|
Input |
OutPut |
Parameters
Name | Type | Default value |
---|---|---|
publicInput | Input | undefined |
publicOutput | OutPut | undefined |
maxProofsVerified | 0 | 2 | 1 | undefined |
domainLog2 | number | 14 |
Returns
Promise
<Proof
<Input
, OutPut
>>
Defined in
fromJSON
▸ Static
fromJSON<S
>(this
, «destructured»
): Proof
<InferProvable
<S
["publicInputType"
]>, InferProvable
<S
["publicOutputType"
]>>
Type parameters
Name | Type |
---|---|
S | extends Subclass <typeof Proof > |
Parameters
Name | Type |
---|---|
this | S |
«destructured» | JsonProof |
Returns
Proof
<InferProvable
<S
["publicInputType"
]>, InferProvable
<S
["publicOutputType"
]>>