@netzero/contracts
Version:
This template uses TypeScript.
14 lines (13 loc) • 805 B
TypeScript
import { PublicKey, SmartContract, State } from "o1js";
import { ProofOfAsset, SelectorArrayProof } from "@netzero/por_circuits";
export declare class NetZeroAssetVerifier extends SmartContract {
selectorArrayCommitment: State<import("o1js/dist/node/lib/provable/group").Group>;
assetCommitment: State<import("o1js/dist/node/lib/provable/group").Group>;
publicAddressesCommitment: State<import("o1js/dist/node/lib/provable/field").Field>;
publicBalancesCommitment: State<import("o1js/dist/node/lib/provable/field").Field>;
admin: State<PublicKey>;
init(): void;
setAdmin(admin: PublicKey): Promise<void>;
verifyAndSetSelectorCommitment(selectorArrayProof: SelectorArrayProof): Promise<void>;
verifyProofOfAssetAndUpdateCommitment(proof: ProofOfAsset): Promise<void>;
}