Circuit
Class: Circuit
Table of contents
Constructors
Properties
- _main
- array
- asProver
- assertEqual
- constraintSystem
- equal
- if
- inCheckedComputation
- inProver
- log
- runAndCheck
- runUnchecked
- switch
- witness
Methods
Constructors
constructor
• new Circuit()
Properties
_main
▪ Static _main: CircuitData\<any, any>
Defined in
array
▪ Static array: \<A>(elementType: A, length: number) => InferredProvable\<A[]> = Provable.Array
Type declaration
▸ \<A>(elementType, length): InferredProvable\<A[]>
Type parameters
| Name | Type |
|---|---|
A | extends FlexibleProvable\<any> |
Parameters
| Name | Type |
|---|---|
elementType | A |
length | number |
Returns
InferredProvable\<A[]>
Deprecated
use Array
Defined in
asProver
▪ Static asProver: (f: () => void) => void = Provable.asProver
Type declaration
▸ (f): void
Parameters
| Name | Type |
|---|---|
f | () => void |
Returns
void
Deprecated
use asProver
Defined in
assertEqual
▪ Static assertEqual: \<T>(type: FlexibleProvable\<T>, x: T, y: T) => void\<T>(x: T, y: T) => void = Provable.assertEqual
Type declaration
▸ \<T>(type, x, y): void
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
type | FlexibleProvable\<T> |
x | T |
y | T |
Returns
void
Deprecated
use assertEqual
▸ \<T>(x, y): void
Type parameters
| Name | Type |
|---|---|
T | extends ToFieldable |
Parameters
| Name | Type |
|---|---|
x | T |
y | T |
Returns
void
Deprecated
use assertEqual
Defined in
constraintSystem
▪ Static constraintSystem: \<T>(f: () => T) => { digest: string ; gates: Gate[] ; publicInputSize: number ; result: T ; rows: number ; print: () => void ; summary: () => Partial\<Record\<GateType | "Total rows", number>> } = Provable.constraintSystem
Type declaration
▸ \<T>(f): Object
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
f | () => T |
Returns
Object
| Name | Type |
|---|---|
digest | string |
gates | Gate[] |
publicInputSize | number |
result | T |
rows | number |
print | () => void |
summary | () => Partial\<Record\<GateType | "Total rows", number>> |
Deprecated
use constraintSystem
Defined in
equal
▪ Static equal: \<T>(type: FlexibleProvable\<T>, x: T, y: T) => Bool\<T>(x: T, y: T) => Bool = Provable.equal
Type declaration
▸ \<T>(type, x, y): Bool
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
type | FlexibleProvable\<T> |
x | T |
y | T |
Returns
Deprecated
use equal
▸ \<T>(x, y): Bool
Type parameters
| Name | Type |
|---|---|
T | extends ToFieldable |
Parameters
| Name | Type |
|---|---|
x | T |
y | T |
Returns
Deprecated
use equal
Defined in
if
▪ Static if: \<T>(condition: Bool, type: FlexibleProvable\<T>, x: T, y: T) => T\<T>(condition: Bool, x: T, y: T) => T = Provable.if
Type declaration
▸ \<T>(condition, type, x, y): T
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
condition | Bool |
type | FlexibleProvable\<T> |
x | T |
y | T |
Returns
T
Deprecated
use if
▸ \<T>(condition, x, y): T
Type parameters
| Name | Type |
|---|---|
T | extends ToFieldable |
Parameters
| Name | Type |
|---|---|
condition | Bool |
x | T |
y | T |
Returns
T
Deprecated
use if
Defined in
inCheckedComputation
▪ Static inCheckedComputation: () => boolean = Provable.inCheckedComputation
Type declaration
▸ (): boolean
Returns
boolean
Deprecated
Defined in
inProver
▪ Static inProver: () => boolean = Provable.inProver
Type declaration
▸ (): boolean
Returns
boolean
Deprecated
use inProver
Defined in
log
▪ Static log: (...args: any) => void = Provable.log
Type declaration
▸ (...args): void
Parameters
| Name | Type |
|---|---|
...args | any |
Returns
void
Deprecated
use log
Defined in
runAndCheck
▪ Static runAndCheck: (f: () => void) => void = Provable.runAndCheck
Type declaration
▸ (f): void
Parameters
| Name | Type |
|---|---|
f | () => void |
Returns
void
Deprecated
use runAndCheck
Defined in
runUnchecked
▪ Static runUnchecked: (f: () => void) => void = Provable.runUnchecked
Type declaration
▸ (f): void
Parameters
| Name | Type |
|---|---|
f | () => void |
Returns
void
Deprecated
use runUnchecked
Defined in
switch
▪ Static switch: \<T, A>(mask: Bool[], type: A, values: T[]) => T = Provable.switch
Type declaration
▸ \<T, A>(mask, type, values): T
Type parameters
| Name | Type |
|---|---|
T | T |
A | extends FlexibleProvable\<T> |
Parameters
| Name | Type |
|---|---|
mask | Bool[] |
type | A |
values | T[] |
Returns
T
Deprecated
use switch
Defined in
witness
▪ Static witness: \<T, S>(type: S, compute: () => T) => T = Provable.witness
Type declaration
▸ \<T, S>(type, compute): T
Type parameters
| Name | Type |
|---|---|
T | T |
S | extends FlexibleProvable\<T> = FlexibleProvable\<T> |
Parameters
| Name | Type |
|---|---|
type | S |
compute | () => T |
Returns
T
Deprecated
use witness
Defined in
Methods
generateKeypair
▸ Static generateKeypair(): Promise\<Keypair>
Generates a proving key and a verification key for this circuit.
Returns
Promise\<Keypair>
Example
const keypair = await MyCircuit.generateKeypair();
Defined in
prove
▸ Static prove(privateInput, publicInput, keypair): Promise\<Proof>
Proves a statement using the private input, public input, and the Keypair of the circuit.
Parameters
| Name | Type |
|---|---|
privateInput | any[] |
publicInput | any[] |
keypair | Keypair |
Returns
Promise\<Proof>
Example
const keypair = await MyCircuit.generateKeypair();
const proof = await MyCircuit.prove(privateInput, publicInput, keypair);
Defined in
verify
▸ Static verify(publicInput, verificationKey, proof): Promise\<boolean>
Verifies a proof using the public input, the proof, and the initial Keypair of the circuit.
Parameters
| Name | Type |
|---|---|
publicInput | any[] |
verificationKey | VerificationKey |
proof | Proof |
Returns
Promise\<boolean>
Example
const keypair = await MyCircuit.generateKeypair();
const proof = await MyCircuit.prove(privateInput, publicInput, keypair);
const isValid = await MyCircuit.verify(publicInput, keypair.vk, proof);