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