UNPKG

zkapp-cli

Version:

CLI to create zkApps (zero-knowledge apps) for Mina Protocol

124 lines (123 loc) 4.62 kB
/** * This file defines the `TicTacToe` smart contract and the helpers it needs. */ import { Field, State, PublicKey, SmartContract, Bool, Signature } from 'o1js'; export { Board, TicTacToe }; declare const OptionalBool_base: { new (isSome: boolean | Bool, value: import("o1js/dist/node/lib/provable/bool").Bool): { toFields(): import("o1js/dist/node/lib/provable/field").Field[]; isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }; _isStruct: true; toFields: (value: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) => import("o1js/dist/node/lib/provable/field").Field[]; toAuxiliary: (value?: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; } | undefined) => any[]; fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[], aux: any[]) => { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }; sizeInFields(): number; check: (value: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) => void; toValue: (x: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) => { isSome: boolean; value: any; }; fromValue: ((x: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; } | { isSome: boolean; value: any; }) => { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) & ((value: { isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool; value: any; }) => { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }); toCanonical?: ((x: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) => { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) | undefined; toInput: (x: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }) => { isSome: boolean; value: { toFields: {}; toAuxiliary: {}; fromFields: {}; sizeInFields: {}; check: {}; toValue: {}; fromValue: {}; toCanonical?: {} | null | undefined; }; }; fromJSON: (x: { isSome: boolean; value: { toFields: {}; toAuxiliary: {}; fromFields: {}; sizeInFields: {}; check: {}; toValue: {}; fromValue: {}; toCanonical?: {} | null | undefined; }; }) => { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }; empty: () => { isSome: import("o1js/dist/node/lib/provable/bool").Bool; value: import("o1js/dist/node/lib/provable/bool").Bool; }; }; declare class OptionalBool extends OptionalBool_base { } declare class Board { board: OptionalBool[][]; constructor(serializedBoard: Field); serialize(): Field; update(x: Field, y: Field, playerToken: Bool): void; printState(): void; checkWinner(): Bool; } declare class TicTacToe extends SmartContract { board: State<import("o1js/dist/node/lib/provable/field").Field>; nextIsPlayer2: State<import("o1js/dist/node/lib/provable/bool").Bool>; gameDone: State<import("o1js/dist/node/lib/provable/bool").Bool>; player1: State<PublicKey>; player2: State<PublicKey>; init(): void; startGame(player1: PublicKey, player2: PublicKey): Promise<void>; play(pubkey: PublicKey, signature: Signature, x: Field, y: Field): Promise<void>; }