pulsar-contracts
Version:
284 lines (283 loc) • 16 kB
TypeScript
import { Field, Provable, SelfProof } from 'o1js';
import { PulsarAction } from './types/PulsarAction.js';
export { ActionStackProof, ActionStackQueue, ActionStackProgram };
declare const ActionList_base: (new (value: {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
}) & {
_isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
}, {
isDummy: boolean;
actionListHash: bigint;
}>, "fromFields"> & {
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
};
} & {
fromValue: (value: {
isDummy: boolean | import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
};
toInput: (x: {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
isDummy: boolean;
actionListHash: string;
};
fromJSON: (x: {
isDummy: boolean;
actionListHash: string;
}) => {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
};
empty: () => {
isDummy: import("o1js/dist/node/lib/provable/bool.js").Bool;
actionListHash: import("o1js/dist/node/lib/provable/field.js").Field;
};
};
declare class ActionList extends ActionList_base {
}
declare const ActionStackQueue_base: (new (value: {
stack: ActionList[];
}) => {
stack: ActionList[];
}) & {
_isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
stack: ActionList[];
}, {
stack: {
isDummy: boolean;
actionListHash: bigint;
}[];
}>, "fromFields"> & {
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
stack: ActionList[];
};
} & {
fromValue: (value: {
stack: ActionList[] | {
isDummy: boolean;
actionListHash: bigint;
}[];
}) => {
stack: ActionList[];
};
toInput: (x: {
stack: ActionList[];
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
stack: ActionList[];
}) => {
stack: {
isDummy: boolean;
actionListHash: string;
}[];
};
fromJSON: (x: {
stack: {
isDummy: boolean;
actionListHash: string;
}[];
}) => {
stack: ActionList[];
};
empty: () => {
stack: ActionList[];
};
};
declare class ActionStackQueue extends ActionStackQueue_base {
static empty(): ActionStackQueue;
static fromArray(actions: PulsarAction[]): ActionStackQueue;
toJSON(): {
isDummy: boolean;
actionListHash: string;
}[];
}
declare const ActionStackProgram: {
name: string;
maxProofsVerified(): Promise<0 | 1 | 2>;
compile: (options?: {
cache?: import("o1js").Cache;
forceRecompile?: boolean;
proofsEnabled?: boolean;
withRuntimeTables?: boolean;
numChunks?: number;
lazyMode?: boolean;
}) => Promise<{
verificationKey: {
data: string;
hash: Field;
};
}>;
verify: (proof: import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>) => Promise<boolean>;
digest: () => Promise<string>;
analyzeMethods: () => Promise<{
proveBase: import("o1js/dist/node/lib/provable/core/provable-context.js").ConstraintSystemSummary & {
proofs: import("o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
};
proveRecursive: import("o1js/dist/node/lib/provable/core/provable-context.js").ConstraintSystemSummary & {
proofs: import("o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
};
}>;
analyzeSingleMethod<K extends "proveBase" | "proveRecursive">(methodName: K): Promise<import("o1js/dist/node/lib/provable/core/provable-context.js").ConstraintSystemSummary & {
proofs: import("o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
}>;
publicInputType: typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field);
publicOutputType: typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field);
privateInputTypes: {
proveBase: [typeof ActionStackQueue];
proveRecursive: [{
new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
proof: import("o1js/dist/node/bindings.js").Pickles.Proof;
publicInput: import("o1js/dist/node/lib/provable/field.js").Field;
publicOutput: import("o1js/dist/node/lib/provable/field.js").Field;
maxProofsVerified: 0 | 1 | 2;
}): SelfProof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>;
fromJSON<S extends import("o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 1 | 2, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>;
get provable(): {
toFields: (value: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/provable/field.js").Field[];
toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
sizeInFields(): number;
check: (value: import("o1js").Proof<any, any>) => void;
toValue: (x: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
fromValue: (x: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined;
};
publicInputType: import("o1js").FlexibleProvable<any>;
publicOutputType: import("o1js").FlexibleProvable<any>;
tag: () => {
name: string;
};
publicFields(value: import("o1js").ProofBase): {
input: import("o1js/dist/node/lib/provable/field.js").Field[];
output: import("o1js/dist/node/lib/provable/field.js").Field[];
};
_proofFromBase64(proofString: import("o1js/dist/node/bindings.js").Base64ProofString, maxProofsVerified: 0 | 1 | 2): unknown;
_proofToBase64(proof: import("o1js/dist/node/bindings.js").Pickles.Proof, maxProofsVerified: 0 | 1 | 2): string;
}, typeof ActionStackQueue];
};
auxiliaryOutputTypes: {
proveBase: undefined;
proveRecursive: undefined;
};
rawMethods: {
proveBase: (publicInput: import("o1js/dist/node/lib/provable/field.js").Field, args_0: ActionStackQueue) => Promise<{
publicOutput: import("o1js/dist/node/lib/provable/field.js").Field;
}>;
proveRecursive: (publicInput: import("o1js/dist/node/lib/provable/field.js").Field, args_0: SelfProof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>, args_1: ActionStackQueue) => Promise<{
publicOutput: import("o1js/dist/node/lib/provable/field.js").Field;
}>;
};
Proof: {
new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
proof: import("o1js/dist/node/bindings.js").Pickles.Proof;
publicInput: import("o1js/dist/node/lib/provable/field.js").Field;
publicOutput: import("o1js/dist/node/lib/provable/field.js").Field;
maxProofsVerified: 0 | 1 | 2;
}): import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>;
fromJSON<S extends import("o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 1 | 2, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>;
get provable(): {
toFields: (value: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/provable/field.js").Field[];
toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
sizeInFields(): number;
check: (value: import("o1js").Proof<any, any>) => void;
toValue: (x: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
fromValue: (x: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined;
};
publicInputType: import("o1js").FlexibleProvable<any>;
publicOutputType: import("o1js").FlexibleProvable<any>;
tag: () => {
name: string;
};
publicFields(value: import("o1js").ProofBase): {
input: import("o1js/dist/node/lib/provable/field.js").Field[];
output: import("o1js/dist/node/lib/provable/field.js").Field[];
};
_proofFromBase64(proofString: import("o1js/dist/node/bindings.js").Base64ProofString, maxProofsVerified: 0 | 1 | 2): unknown;
_proofToBase64(proof: import("o1js/dist/node/bindings.js").Pickles.Proof, maxProofsVerified: 0 | 1 | 2): string;
};
proofsEnabled: boolean;
setProofsEnabled(proofsEnabled: boolean): void;
} & {
proveBase: (publicInput: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field, args_0: ActionStackQueue | {
stack: ActionList[] | {
isDummy: boolean;
actionListHash: bigint;
}[];
}) => Promise<{
proof: import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>;
auxiliaryOutput: undefined;
}>;
proveRecursive: (publicInput: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field, args_0: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>, args_1: ActionStackQueue | {
stack: ActionList[] | {
isDummy: boolean;
actionListHash: bigint;
}[];
}) => Promise<{
proof: import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>;
auxiliaryOutput: undefined;
}>;
};
declare const ActionStackProof_base: {
new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
proof: unknown;
publicInput: import("o1js/dist/node/lib/provable/field.js").Field;
publicOutput: import("o1js/dist/node/lib/provable/field.js").Field;
maxProofsVerified: 0 | 2 | 1;
}): import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>;
fromJSON<S extends import("o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>;
readonly provable: {
toFields: (value: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/provable/field.js").Field[];
toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
sizeInFields(): number;
check: (value: import("o1js").Proof<any, any>) => void;
toValue: (x: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
fromValue: (x: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined;
};
publicInputType: import("o1js").FlexibleProvable<any>;
publicOutputType: import("o1js").FlexibleProvable<any>;
tag: () => {
name: string;
};
publicFields(value: import("o1js").ProofBase<any, any>): {
input: import("o1js/dist/node/lib/provable/field.js").Field[];
output: import("o1js/dist/node/lib/provable/field.js").Field[];
};
_proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown;
_proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string;
} & {
provable: Provable<import("o1js").Proof<import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field>, import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<bigint, bigint>>;
};
declare class ActionStackProof extends ActionStackProof_base {
}