Files
2025-12-27 21:16:53 -08:00

1004 lines
25 KiB
TypeScript

/**
* This file is autogenerated by Scaffold-ETH.
* You should not edit it manually or your changes might be overwritten.
*/
import { GenericContractsDeclaration } from "~~/utils/scaffold-eth/contract";
const deployedContracts = {
31337: {
FHERockPaperScissors: {
address: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707",
abi: [
{
inputs: [],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [
{
internalType: "uint8",
name: "got",
type: "uint8",
},
{
internalType: "uint8",
name: "expected",
type: "uint8",
},
],
name: "InvalidEncryptedInput",
type: "error",
},
{
inputs: [
{
internalType: "int32",
name: "value",
type: "int32",
},
],
name: "SecurityZoneOutOfBounds",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
indexed: true,
internalType: "address",
name: "creator",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "betAmount",
type: "uint256",
},
],
name: "GameCreated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
name: "GameDrawn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
indexed: true,
internalType: "address",
name: "winner",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "prize",
type: "uint256",
},
],
name: "GameFinished",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
name: "GameWaitingForDecryption",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
indexed: true,
internalType: "address",
name: "player",
type: "address",
},
],
name: "MoveSubmitted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
indexed: true,
internalType: "address",
name: "player2",
type: "address",
},
],
name: "PlayerJoined",
type: "event",
},
{
inputs: [],
name: "MOVE_TIMEOUT",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
name: "cancelGame",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "createGame",
outputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [],
name: "gameCounter",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "games",
outputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
internalType: "address",
name: "player1",
type: "address",
},
{
internalType: "address",
name: "player2",
type: "address",
},
{
internalType: "euint8",
name: "player1Choice",
type: "uint256",
},
{
internalType: "euint8",
name: "player2Choice",
type: "uint256",
},
{
internalType: "bool",
name: "player1ChoiceReady",
type: "bool",
},
{
internalType: "bool",
name: "player2ChoiceReady",
type: "bool",
},
{
internalType: "address",
name: "winner",
type: "address",
},
{
internalType: "uint256",
name: "betAmount",
type: "uint256",
},
{
internalType: "enum FHERockPaperScissors.GameState",
name: "state",
type: "uint8",
},
{
internalType: "uint256",
name: "createdAt",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
name: "getGame",
outputs: [
{
components: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
internalType: "address",
name: "player1",
type: "address",
},
{
internalType: "address",
name: "player2",
type: "address",
},
{
internalType: "euint8",
name: "player1Choice",
type: "uint256",
},
{
internalType: "euint8",
name: "player2Choice",
type: "uint256",
},
{
internalType: "bool",
name: "player1ChoiceReady",
type: "bool",
},
{
internalType: "bool",
name: "player2ChoiceReady",
type: "bool",
},
{
internalType: "address",
name: "winner",
type: "address",
},
{
internalType: "uint256",
name: "betAmount",
type: "uint256",
},
{
internalType: "enum FHERockPaperScissors.GameState",
name: "state",
type: "uint8",
},
{
internalType: "uint256",
name: "createdAt",
type: "uint256",
},
],
internalType: "struct FHERockPaperScissors.Game",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getGameCount",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "enum FHERockPaperScissors.GameState",
name: "targetState",
type: "uint8",
},
],
name: "getGamesByState",
outputs: [
{
components: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
internalType: "address",
name: "player1",
type: "address",
},
{
internalType: "address",
name: "player2",
type: "address",
},
{
internalType: "euint8",
name: "player1Choice",
type: "uint256",
},
{
internalType: "euint8",
name: "player2Choice",
type: "uint256",
},
{
internalType: "bool",
name: "player1ChoiceReady",
type: "bool",
},
{
internalType: "bool",
name: "player2ChoiceReady",
type: "bool",
},
{
internalType: "address",
name: "winner",
type: "address",
},
{
internalType: "uint256",
name: "betAmount",
type: "uint256",
},
{
internalType: "enum FHERockPaperScissors.GameState",
name: "state",
type: "uint8",
},
{
internalType: "uint256",
name: "createdAt",
type: "uint256",
},
],
internalType: "struct FHERockPaperScissors.Game[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "player",
type: "address",
},
],
name: "getPlayerGames",
outputs: [
{
internalType: "uint256[]",
name: "",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
name: "joinGame",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "playerGames",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
],
name: "safelyRevealWinner",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "gameId",
type: "uint256",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint8",
name: "encryptedChoice",
type: "tuple",
},
],
name: "submitMove",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
],
inheritedFunctions: {},
},
Multicall3: {
address: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
abi: [
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "aggregate",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
{
internalType: "bytes[]",
name: "returnData",
type: "bytes[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bool",
name: "allowFailure",
type: "bool",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call3[]",
name: "calls",
type: "tuple[]",
},
],
name: "aggregate3",
outputs: [
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bool",
name: "allowFailure",
type: "bool",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call3Value[]",
name: "calls",
type: "tuple[]",
},
],
name: "aggregate3Value",
outputs: [
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "blockAndAggregate",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [],
name: "getBasefee",
outputs: [
{
internalType: "uint256",
name: "basefee",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
],
name: "getBlockHash",
outputs: [
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getBlockNumber",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getChainId",
outputs: [
{
internalType: "uint256",
name: "chainid",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockCoinbase",
outputs: [
{
internalType: "address",
name: "coinbase",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockDifficulty",
outputs: [
{
internalType: "uint256",
name: "difficulty",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockGasLimit",
outputs: [
{
internalType: "uint256",
name: "gaslimit",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockTimestamp",
outputs: [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "addr",
type: "address",
},
],
name: "getEthBalance",
outputs: [
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getLastBlockHash",
outputs: [
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bool",
name: "requireSuccess",
type: "bool",
},
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "tryAggregate",
outputs: [
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "bool",
name: "requireSuccess",
type: "bool",
},
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "tryBlockAndAggregate",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
],
inheritedFunctions: {},
},
},
} as const;
export default deployedContracts satisfies GenericContractsDeclaration;