Skip to main content

Experimental

o1js / Modules / Experimental

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

index.ts:101

index.ts:102

Variables

Callback

Callback: typeof Callback = Experimental_.Callback

Defined in

index.ts:101

index.ts:102

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

NameType
StatementTypeextends Object
Typesextends Object

Parameters

NameType
configStatementType & { 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

lib/proof_system.ts:189


createChildAccountUpdate

createChildAccountUpdate(parent, childAddress, tokenId?): AccountUpdate

Parameters

NameType
parentAccountUpdate
childAddressPublicKey
tokenId?Field

Returns

AccountUpdate

Defined in

lib/account_update.ts:1709


memoizeWitness

memoizeWitness<T>(type, compute): T

Like Provable.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

NameType
typeFlexibleProvable<T>
compute() => T

Returns

T

Defined in

lib/provable.ts:456