UNPKG

l1-lottery-contracts

Version:

This repo contains smart contracts and related scripts for ZkNoid L1 Lottery proposed [here](https://forums.minaprotocol.com/t/zknoid-l1-lottery/6269)

74 lines (73 loc) 3.14 kB
import { Field, PublicKey, SmartContract, State, UInt32 } from 'o1js'; declare const CommitValue_base: (new (value: { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }) => { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }) & { _isStruct: true; } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }, { value: bigint; salt: bigint; }>, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }; } & { fromValue: (value: { value: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; salt: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; }) => { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }; toInput: (x: { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }) => { value: string; salt: string; }; fromJSON: (x: { value: string; salt: string; }) => { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { value: import("o1js/dist/node/lib/provable/field.js").Field; salt: import("o1js/dist/node/lib/provable/field.js").Field; }; }; export declare class CommitValue extends CommitValue_base { hash(): Field; } export declare class RandomManager extends SmartContract { startSlot: State<UInt32>; firstCommit: State<import("o1js/dist/node/lib/provable/field.js").Field>; secondCommit: State<import("o1js/dist/node/lib/provable/field.js").Field>; firstValue: State<import("o1js/dist/node/lib/provable/field.js").Field>; secondValue: State<import("o1js/dist/node/lib/provable/field.js").Field>; result: State<import("o1js/dist/node/lib/provable/field.js").Field>; firstPartyCommit(value: CommitValue): Promise<void>; secondPartyCommit(value: CommitValue): Promise<void>; revealFirstCommit(value: CommitValue): Promise<void>; revealSecondCommit(value: CommitValue): Promise<void>; produceResultIfAllRevealed(firstValue: Field, secondValue: Field): void; checkPermission(targetAddress: PublicKey): void; checkRoundPass(): void; } export default RandomManager;