UNPKG

@nori-zk/ethprocessor

Version:

zkApp for verifying SP1 Helios Nori proof and storing latest execution state root on Mina

21 lines (20 loc) 1.18 kB
import { SmartContract, State, UInt64, PublicKey } from 'o1js'; import { VerificationKey } from 'o1js'; import { EthProof, Bytes32FieldPair } from '@nori-zk/o1js-zk-utils'; export declare class EthProofType extends EthProof { } export declare class EthProcessor extends SmartContract { admin: State<PublicKey>; verifiedStateRoot: State<import("o1js/dist/node/lib/provable/field.js").Field>; latestHead: State<UInt64>; latestHeliusStoreInputHashHighByte: State<import("o1js/dist/node/lib/provable/field.js").Field>; latestHeliusStoreInputHashLowerBytes: State<import("o1js/dist/node/lib/provable/field.js").Field>; latestVerifiedContractDepositsRootHighByte: State<import("o1js/dist/node/lib/provable/field.js").Field>; latestVerifiedContractDepositsRootLowerBytes: State<import("o1js/dist/node/lib/provable/field.js").Field>; init(): void; private ensureAdminSignature; setVerificationKey(vk: VerificationKey): Promise<void>; initialize(adminPublicKey: PublicKey, newStoreHash: Bytes32FieldPair): Promise<void>; updateStoreHash(newStoreHash: Bytes32FieldPair): Promise<void>; update(ethProof: EthProofType): Promise<void>; }