@netzero/contracts
Version:
This template uses TypeScript.
17 lines (16 loc) • 956 B
TypeScript
import { Field, Group, PublicKey, SmartContract, State } from "o1js";
import { InclusionProof } from "@netzero/circuits";
export declare class NetZeroLiabilitiesVerifier extends SmartContract {
rootHash: State<import("o1js/dist/node/lib/provable/field").Field>;
rootCommitment: State<import("o1js/dist/node/lib/provable/group").Group>;
saltS: State<import("o1js/dist/node/lib/provable/field").Field>;
saltB: State<import("o1js/dist/node/lib/provable/field").Field>;
admin: State<PublicKey>;
verifiedProofs: State<import("o1js/dist/node/lib/provable/field").Field>;
init(): void;
setAdmin(admin: PublicKey): Promise<void>;
setPublicParameters(saltS: Field, saltB: Field): Promise<void>;
setRootAndParams(rootHash: Field, rootCommitment: Group, saltS: Field, saltB: Field): Promise<void>;
setRoot(rootHash: Field, rootCommitment: Group): Promise<void>;
verifyInclusion(proof: InclusionProof): Promise<void>;
}