Namespace: Experimental
This module exposes APIs that are unstable, in the sense that the API surface is expected to change. (Not unstable in the sense that they are less functional or tested than other parts.)
Table of contents
Type Aliases
Variables
Functions
Type Aliases
Callback
Ƭ Callback<Result>: Callback_<Result>
Type parameters
| Name |
|---|
Result |
Defined in
Variables
Callback
• Callback: typeof Callback = Experimental_.Callback
Defined in
Functions
ZkProgram
▸ ZkProgram<StatementType, Types>(config): { analyzeMethods: () => ReturnType<typeof analyzeMethod>[] ; compile: () => Promise<{ verificationKey: string }> ; digest: () => string ; name: string ; publicInputType: ProvableOrUndefined<Get<StatementType, "publicInput">> ; publicOutputType: ProvableOrVoid<Get<StatementType, "publicOutput">> ; verify: (proof: Proof<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>>) => Promise<boolean> } & { [I in keyof Types]: Prover<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>, Types[I]> }
Type parameters
| Name | Type |
|---|---|
StatementType | extends Object |
Types | extends Object |
Parameters
| Name | Type |
|---|---|
config | StatementType & { methods: { [I in string | number | symbol]: Method<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>, Types[I]> } } |
Returns
{ analyzeMethods: () => ReturnType<typeof analyzeMethod>[] ; compile: () => Promise<{ verificationKey: string }> ; digest: () => string ; name: string ; publicInputType: ProvableOrUndefined<Get<StatementType, "publicInput">> ; publicOutputType: ProvableOrVoid<Get<StatementType, "publicOutput">> ; verify: (proof: Proof<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>>) => Promise<boolean> } & { [I in keyof Types]: Prover<InferProvableOrUndefined<Get<StatementType, "publicInput">>, InferProvableOrVoid<Get<StatementType, "publicOutput">>, Types[I]> }
Defined in
createChildAccountUpdate
▸ createChildAccountUpdate(parent, childAddress, tokenId?): AccountUpdate
Parameters
| Name | Type |
|---|---|
parent | AccountUpdate |
childAddress | PublicKey |
tokenId? | Field |
Returns
Defined in
memoizeWitness
▸ memoizeWitness<T>(type, compute): T
Like Circuit.witness, but memoizes the witness during transaction construction for reuse by the prover. This is needed to witness non-deterministic values.
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
type | FlexibleProvable<T> |
compute | () => T |
Returns
T