export declare const ticTacToeAddress = "0x057ef64E23666F000b34aE31332854aCBd1c8544"; export declare const ticTacToeBytecode = "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630e84706214610067578063117a5b901461008f578063474d0b5a146100fc578063a2f77bcc1461011d578063cd7628271461013d578063f27cfb6914610150575b600080fd5b61007a610075366004611071565b610163565b60405190151581526020015b60405180910390f35b6100ea61009d36600461109b565b600160208190526000918252604090912080549181015460029091015460ff808316926001600160a01b0361010090910481169290811691600160a01b8204811691600160a81b90041686565b604051610086969594939291906110ee565b61010f61010a36600461113a565b6105fd565b604051908152602001610086565b61013061012b36600461109b565b6107db565b604051610086919061115c565b61007a61014b366004611071565b610928565b61007a61015e366004611234565b610a8c565b6000816000548111156101915760405162461bcd60e51b815260040161018890611281565b60405180910390fd5b6000838152600160208190526040909120908101546001600160a01b038681166101009092041614806101d3575060028101546001600160a01b038681169116145b61021f5760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420612076616c696420706c6179657220696e207468652067616d6500006044820152606401610188565b60018101546000906001600160a01b03878116610100909204161461024557601e610248565b600f5b905060005b60038160ff1610156104d557600060028260ff1660038110610271576102716112aa565b015460ff620100009091048116906003808701918516908110610296576102966112aa565b01546102ab919062010000900460ff166112d6565b60028360ff16600381106102c1576102c16112aa565b015460ff61010090910481169060038088019186169081106102e5576102e56112aa565b01546102f99190610100900460ff166112d6565b60028460ff166003811061030f5761030f6112aa565b015460ff90811690600380890191871690811061032e5761032e6112aa565b015461033d919060ff166112d6565b61034791906112f2565b61035191906112f2565b90506000600460ff84166003811061036b5761036b6112aa565b602081049091015460ff601f9092166101000a900416600386016002018460ff166003811061039c5761039c6112aa565b602091828204019190069054906101000a900460ff166103bc91906112d6565b600360ff85168181106103d1576103d16112aa565b602081049091015460ff601f9092166101000a900416600387016001018560ff1660038110610402576104026112aa565b602091828204019190069054906101000a900460ff1661042291906112d6565b600260ff861660038110610438576104386112aa565b602081049091015460ff601f9092166101000a900416600388016000018660ff1660038110610469576104696112aa565b602091828204019190069054906101000a900460ff1661048991906112d6565b61049391906112f2565b61049d91906112f2565b90508360ff168260ff1614806104b857508360ff168160ff16145b156104cb576001965050505050506105f6565b505060010161024d565b5060045460058301546000916104fb9160ff6201000092839004811692909104166112d6565b600354600485015461051d9160ff6101009182900481169291909104166112d6565b60025460038601546105359160ff90811691166112d6565b61053f91906112f2565b61054991906112f2565b60045460058501549192506000916105679160ff90811691166112d6565b60035460048601546105899160ff6101009182900481169291909104166112d6565b60025460038701546105ac9160ff620100009182900481169291909104166112d6565b6105b691906112f2565b6105c091906112f2565b90508260ff168260ff1614806105db57508260ff168160ff16145b156105ed5760019550505050506105f6565b60009550505050505b5092915050565b60008054818061060c83611311565b90915550506040805160e0810182526000805480835260208084018381526001600160a01b038816858701526060808601859052608080870186905260a0808801879052885160c08082018b5281850189815293820189905291810188905291825288518084018a52878152808601889052808a0188905282860152885192830189528683528285018790528289018790528189019290925290860152918352600190819052939091208251815590518184018054939492939192909160ff1916908360048111156106e0576106e06110b4565b02179055506040820151600180830180546001600160a01b0393841661010002610100600160a81b03199091161790556060840151600284018054919093166001600160a01b0319821681178455608086015193926001600160a81b03199092161790600160a01b90849081111561075a5761075a6110b4565b021790555060a082015160028201805460ff909216600160a81b0260ff60a81b1990921691909117905560c08201516107999060038084019190610ec3565b5050600080546040516001600160a01b038616935090917fc3e0f84839dc888c892a013d10c8f9d6dc05a21a879d0ce468ca558013e9121c91a3505060005490565b6107e3610f0d565b600082815260016020818152604092839020835160e0810190945280548452918201549083019060ff16600481111561081e5761081e6110b4565b600481111561082f5761082f6110b4565b815260018281015461010090046001600160a01b03908116602084015260028401549081166040840152606090920191600160a01b900460ff1690811115610879576108796110b4565b600181111561088a5761088a6110b4565b81526002820154600160a81b900460ff166020820152604080516060810182529101906003808401906000835b8282101561091a576040805160608101918290529085840190600390826000855b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116108d85790505050505050815260200190600101906108b7565b505050915250909392505050565b60008160005481111561094d5760405162461bcd60e51b815260040161018890611281565b600083815260016020526040812090600182015460ff166004811115610975576109756110b4565b146109c25760405162461bcd60e51b815260206004820152601f60248201527f47616d6520616c72656164792068617320656e6f75676820706c6179657273006044820152606401610188565b60018101546001600160a01b038087166101009092041603610a265760405162461bcd60e51b815260206004820152601960248201527f506c6179657273206d75737420626520646966666572656e74000000000000006044820152606401610188565b6002810180546001600160a01b0319166001600160a01b0387169081179091556001808301805460ff1916909117905581546040517fe52d81459d9994c73740ea14247d27531f0f00be7c54bc1b8b759df2feda9fe790600090a3506001949350505050565b600083600054811115610ab15760405162461bcd60e51b815260040161018890611281565b600085815260016020819052604090912090600182015460ff166004811115610adc57610adc6110b4565b14610b435760405162461bcd60e51b815260206004820152603160248201527f47616d65206861736e27742073746172746564206f722068617320616c726561604482015270191e481899595b8818dbdb5c1b195d1959607a1b6064820152608401610188565b6000806002830154600160a01b900460ff166001811115610b6657610b666110b4565b14905080610b865760028201546001600160a01b03898116911614610b9f565b60018201546001600160a01b0389811661010090920416145b610beb5760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420612076616c696420706c6179657220696e207468652067616d6500006044820152606401610188565b60028660ff16111580610c02575060028560ff1611155b610c435760405162461bcd60e51b81526020600482015260126024820152714d6f7665206f7574206f6620626f756e647360701b6044820152606401610188565b816003018660ff1660038110610c5b57610c5b6112aa565b018560ff1660038110610c7057610c706112aa565b602081049091015460ff601f9092166101000a90041615610cc25760405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964206d6f766560a01b6044820152606401610188565b80610cce576002610cd1565b60015b826003018760ff1660038110610ce957610ce96112aa565b018660ff1660038110610cfe57610cfe6112aa565b602091828204019190066101000a81548160ff021916908360ff16021790555080610d2a576000610d2d565b60015b60028301805460ff60a01b1916600160a01b836001811115610d5157610d516110b4565b0217905550600282018054600160a81b900460ff16906015610d728361132a565b91906101000a81548160ff021916908360ff1602179055505081600001547f0bee9c3b3b392e4e69b46cf21e397190b585b0ce4bd26eca0d752fe1536d66e88787604051610dd092919060ff92831681529116602082015260400190565b60405180910390a26000610de8898460000154610163565b90508015610e625781610dfc576004610dff565b60035b60018085018054909160ff1990911690836004811115610e2157610e216110b4565b021790555082546040516001600160a01b038b1691907f66a510f95625276cd762265aa3b18dca38765e7ea0a5f047aae0db64bb5caf5f90600090a3610eb4565b60028301546009600160a81b90910460ff1610610eb45760018301805460ff1916600217905582546040517f7100df8a0f152e72c848c10d7b88142c09ee0f3d2df2be5ea52949d5b7e6466b90600090a25b50600198975050505050505050565b8260038101928215610efd579160200282015b82811115610efd578251610eed9083906003610f53565b5091602001919060010190610ed6565b50610f09929150610fe2565b5090565b6040805160e0810190915260008082526020820190815260006020820181905260408201819052606090910190815260006020820152604001610f4e610ff6565b905290565b600183019183908215610fd65791602002820160005b83821115610fa757835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302610f69565b8015610fd45782816101000a81549060ff0219169055600101602081600001049283019260010302610fa7565b505b50610f09929150611023565b80821115610f095760008155600101610fe2565b60405180606001604052806003905b61100d611037565b8152602001906001900390816110055790505090565b80821115610f095760008155600101610fe2565b60405180606001604052806003906020820280368337509192915050565b80356001600160a01b038116811461106c57600080fd5b919050565b6000806040838503121561108457600080fd5b61108d83611055565b946020939093013593505050565b6000602082840312156110ad57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600581106110da576110da6110b4565b9052565b600281106110da576110da6110b4565b86815260c0810161110260208301886110ca565b6001600160a01b0386811660408401528516606083015261112660808301856110de565b60ff831660a0830152979650505050505050565b60006020828403121561114c57600080fd5b61115582611055565b9392505050565b815181526020808301516101e083019190611179828501826110ca565b50604084015160018060a01b038082166040860152606091508060608701511660608601525060808501516111b160808601826110de565b5060a085015160ff80821660a087015260c0870151915060c086016000805b60038082106111df5750611216565b855184845b8381101561120257825188168252918a0191908a01906001016111e4565b5050509487019450918501916001016111d0565b5050505050505092915050565b803560ff8116811461106c57600080fd5b6000806000806080858703121561124a57600080fd5b61125385611055565b93506020850135925061126860408601611223565b915061127660608601611223565b905092959194509250565b6020808252600f908201526e125b9d985b1a590819d85b59481a59608a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821602908116908181146105f6576105f66112c0565b60ff818116838216019081111561130b5761130b6112c0565b92915050565b600060018201611323576113236112c0565b5060010190565b600060ff821660ff8103611340576113406112c0565b6001019291505056fea2646970667358221220a1f96433f21bb7ce1757003b36b6b4a9cebc469ec97c29efdbc739b5f243d68064736f6c63430008190033"; export declare const ticTacToeAbi: readonly [{ readonly type: "function"; readonly name: "checkForWin"; readonly inputs: readonly [{ readonly name: "player"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "gameId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "createGame"; readonly inputs: readonly [{ readonly name: "player1"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "games"; readonly inputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "state"; readonly type: "uint8"; readonly internalType: "enum TicTacToe.GameState"; }, { readonly name: "player1"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "player2"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "currentTurn"; readonly type: "uint8"; readonly internalType: "enum TicTacToe.PlayerTurn"; }, { readonly name: "numOfTurns"; readonly type: "uint8"; readonly internalType: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getGame"; readonly inputs: readonly [{ readonly name: "gameId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct TicTacToe.Game"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "state"; readonly type: "uint8"; readonly internalType: "enum TicTacToe.GameState"; }, { readonly name: "player1"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "player2"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "currentTurn"; readonly type: "uint8"; readonly internalType: "enum TicTacToe.PlayerTurn"; }, { readonly name: "numOfTurns"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "board"; readonly type: "uint8[3][3]"; readonly internalType: "uint8[3][3]"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "joinGame"; readonly inputs: readonly [{ readonly name: "player2"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "gameId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "makeMove"; readonly inputs: readonly [{ readonly name: "player"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "gameId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "x"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "y"; readonly type: "uint8"; readonly internalType: "uint8"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "GameCompletedDraw"; readonly inputs: readonly [{ readonly name: "gameId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "GameCompletedWithWinner"; readonly inputs: readonly [{ readonly name: "gameId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "winner"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "GameCreated"; readonly inputs: readonly [{ readonly name: "gameId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "creator"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PlayerJoinedGame"; readonly inputs: readonly [{ readonly name: "gameId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "player"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PlayerMadeMove"; readonly inputs: readonly [{ readonly name: "gameId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "x"; readonly type: "uint8"; readonly indexed: false; readonly internalType: "uint8"; }, { readonly name: "y"; readonly type: "uint8"; readonly indexed: false; readonly internalType: "uint8"; }]; readonly anonymous: false; }]; export declare function setupTicTacToe(): Promise;