@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
TypeScript
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>;
}