{
  "contractName": "GameObject",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "components": [
            {
              "name": "playerNumber",
              "type": "uint256"
            },
            {
              "name": "randomRanges",
              "type": "uint256[2][]"
            },
            {
              "name": "seed",
              "type": "bytes32"
            }
          ],
          "name": "_gameData",
          "type": "tuple"
        }
      ],
      "name": "hashGameData",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "components": [
            {
              "name": "playerNumber",
              "type": "uint256"
            },
            {
              "name": "randomRanges",
              "type": "uint256[2][]"
            },
            {
              "name": "seed",
              "type": "bytes32"
            }
          ],
          "name": "_gameData",
          "type": "tuple"
        },
        {
          "name": "_bets",
          "type": "uint256[]"
        }
      ],
      "name": "checkGameData",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610557806100206000396000f30060806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638be2c0c38114610050578063e635844714610086575b600080fd5b34801561005c57600080fd5b5061007061006b3660046103d5565b6100b3565b60405161007d91906104a1565b60405180910390f35b34801561009257600080fd5b506100a66100a1366004610412565b610196565b60405161007d9190610493565b6000816000015182602001518360400151604051602001808481526020018380516000925b8184101561011a57602080850284010151604080838360005b838110156101095781810151838201526020016100f1565b5050505090500192600101926100d8565b9485525050604080518085038152602094850191829052805190965090945084938601925090508083835b602083106101645780518252601f199092019160209182019101610145565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b600060018360200151511415806101ae575082516000115b806101bb5750825161ffff105b806101e6575068056bc75e2d631000008260008151811015156101da57fe5b90602001906020020151115b156101f3575060006101f7565b5060015b92915050565b6000601f8201831361020e57600080fd5b813561022161021c826104d6565b6104af565b9150818183526020840193506020810190508385604084028201111561024657600080fd5b60005b83811015610274578161025c888261027e565b84525060209092019160409190910190600101610249565b5050505092915050565b6000601f8201831361028f57600080fd5b600261029d61021c826104f7565b915081838560208402820111156102b357600080fd5b60005b8381101561027457816102c9888261034f565b84525060209283019291909101906001016102b6565b6000601f820183136102f057600080fd5b81356102fe61021c826104d6565b9150818183526020840193506020810190508385602084028201111561032357600080fd5b60005b838110156102745781610339888261034f565b8452506020928301929190910190600101610326565b600061035b823561051a565b9392505050565b60006060828403121561037457600080fd5b61037e60606104af565b9050600061038c848461034f565b825250602082013567ffffffffffffffff8111156103a957600080fd5b6103b5848285016101fd565b60208301525060406103c98482850161034f565b60408301525092915050565b6000602082840312156103e757600080fd5b813567ffffffffffffffff8111156103fe57600080fd5b61040a84828501610362565b949350505050565b6000806040838503121561042557600080fd5b823567ffffffffffffffff81111561043c57600080fd5b61044885828601610362565b925050602083013567ffffffffffffffff81111561046557600080fd5b610471858286016102df565b9150509250929050565b61048481610515565b82525050565b6104848161051a565b602081016101f7828461047b565b602081016101f7828461048a565b60405181810167ffffffffffffffff811182821017156104ce57600080fd5b604052919050565b600067ffffffffffffffff8211156104ed57600080fd5b5060209081020190565b600067ffffffffffffffff82111561050e57600080fd5b5060200290565b151590565b905600a265627a7a72305820c3a9bb28866242b553060c6239d6065ddbb618c720e9a5d6af4a961a1759c0d46c6578706572696d656e74616cf50037",
  "deployedBytecode": "0x60806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638be2c0c38114610050578063e635844714610086575b600080fd5b34801561005c57600080fd5b5061007061006b3660046103d5565b6100b3565b60405161007d91906104a1565b60405180910390f35b34801561009257600080fd5b506100a66100a1366004610412565b610196565b60405161007d9190610493565b6000816000015182602001518360400151604051602001808481526020018380516000925b8184101561011a57602080850284010151604080838360005b838110156101095781810151838201526020016100f1565b5050505090500192600101926100d8565b9485525050604080518085038152602094850191829052805190965090945084938601925090508083835b602083106101645780518252601f199092019160209182019101610145565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b600060018360200151511415806101ae575082516000115b806101bb5750825161ffff105b806101e6575068056bc75e2d631000008260008151811015156101da57fe5b90602001906020020151115b156101f3575060006101f7565b5060015b92915050565b6000601f8201831361020e57600080fd5b813561022161021c826104d6565b6104af565b9150818183526020840193506020810190508385604084028201111561024657600080fd5b60005b83811015610274578161025c888261027e565b84525060209092019160409190910190600101610249565b5050505092915050565b6000601f8201831361028f57600080fd5b600261029d61021c826104f7565b915081838560208402820111156102b357600080fd5b60005b8381101561027457816102c9888261034f565b84525060209283019291909101906001016102b6565b6000601f820183136102f057600080fd5b81356102fe61021c826104d6565b9150818183526020840193506020810190508385602084028201111561032357600080fd5b60005b838110156102745781610339888261034f565b8452506020928301929190910190600101610326565b600061035b823561051a565b9392505050565b60006060828403121561037457600080fd5b61037e60606104af565b9050600061038c848461034f565b825250602082013567ffffffffffffffff8111156103a957600080fd5b6103b5848285016101fd565b60208301525060406103c98482850161034f565b60408301525092915050565b6000602082840312156103e757600080fd5b813567ffffffffffffffff8111156103fe57600080fd5b61040a84828501610362565b949350505050565b6000806040838503121561042557600080fd5b823567ffffffffffffffff81111561043c57600080fd5b61044885828601610362565b925050602083013567ffffffffffffffff81111561046557600080fd5b610471858286016102df565b9150509250929050565b61048481610515565b82525050565b6104848161051a565b602081016101f7828461047b565b602081016101f7828461048a565b60405181810167ffffffffffffffff811182821017156104ce57600080fd5b604052919050565b600067ffffffffffffffff8211156104ed57600080fd5b5060209081020190565b600067ffffffffffffffff82111561050e57600080fd5b5060200290565b151590565b905600a265627a7a72305820c3a9bb28866242b553060c6239d6065ddbb618c720e9a5d6af4a961a1759c0d46c6578706572696d656e74616cf50037",
  "sourceMap": "60:923:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;60:923:3;;;;;;;",
  "deployedSourceMap": "60:923:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;327:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;327:268:3;;;;;;;;;;;;;;;;;;;;;;;;;601:379;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;601:379:3;;;;;;;;;;;;;;;;;327:268;389:7;491:9;:22;;;527:9;:22;;;563:9;:14;;;425:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;425:162:3;;;;;;;;;;;;;;;;-1:-1:-1;;425:162:3;;;26:21:-1;;;6:49;;425:162:3;;;;;;;;415:173;;425:162;;-1:-1:-1;425:162:3;;-1:-1:-1;425:162:3;;415:173;;;-1:-1:-1;415:173:3;-1:-1:-1;415:173:3;425:162;415:173;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;;;;365:33;;415:173:3;;;;;;;;;;;;-1:-1:-1;;;;;327:268:3:o;601:379::-;679:4;750:1;712:9;:22;;;:29;:40;;:88;;;-1:-1:-1;768:22:3;;798:1;-1:-1:-1;712:88:3;:149;;;-1:-1:-1;825:22:3;;855:5;-1:-1:-1;712:149:3;:189;;;;892:9;881:5;887:1;881:8;;;;;;;;;;;;;;;;;;:20;712:189;695:258;;;-1:-1:-1;937:5:3;930:12;;695:258;-1:-1:-1;969:4:3;601:379;;;;;:::o;26:756:-1:-;;151:4;139:17;;135:27;-1:-1;125:2;;176:1;173;166:12;125:2;213:6;200:20;235:95;250:79;322:6;250:79;;;235:95;;;226:104;;347:5;372:6;365:5;358:21;402:4;394:6;390:17;380:27;;424:4;419:3;415:14;408:21;;477:6;524:3;516:4;508:6;504:17;499:3;495:27;492:36;489:2;;;541:1;538;531:12;489:2;566:1;551:225;576:6;573:1;570:13;551:225;;;634:3;656:56;708:3;696:10;656:56;;;644:69;;-1:-1;736:4;727:14;;;;764:4;755:14;;;;;598:1;591:9;551:225;;;555:14;118:664;;;;;;;;809:607;;913:4;901:17;;897:27;-1:-1;887:2;;938:1;935;928:12;887:2;962:3;980:74;995:58;1046:6;995:58;;980:74;971:83;;1071:5;1130:6;1177:3;1169:4;1161:6;1157:17;1152:3;1148:27;1145:36;1142:2;;;1194:1;1191;1184:12;1142:2;1219:1;1204:206;1229:6;1226:1;1223:13;1204:206;;;1287:3;1309:37;1342:3;1330:10;1309:37;;;1297:50;;-1:-1;1370:4;1361:14;;;;1389;;;;;1251:1;1244:9;1204:206;;1442:707;;1552:4;1540:17;;1536:27;-1:-1;1526:2;;1577:1;1574;1567:12;1526:2;1614:6;1601:20;1636:80;1651:64;1708:6;1651:64;;1636:80;1627:89;;1733:5;1758:6;1751:5;1744:21;1788:4;1780:6;1776:17;1766:27;;1810:4;1805:3;1801:14;1794:21;;1863:6;1910:3;1902:4;1894:6;1890:17;1885:3;1881:27;1878:36;1875:2;;;1927:1;1924;1917:12;1875:2;1952:1;1937:206;1962:6;1959:1;1956:13;1937:206;;;2020:3;2042:37;2075:3;2063:10;2042:37;;;2030:50;;-1:-1;2103:4;2094:14;;;;2122;;;;;1984:1;1977:9;1937:206;;2157:118;;2224:46;2262:6;2249:20;2224:46;;;2215:55;2209:66;-1:-1;;;2209:66;2315:752;;2429:4;2417:9;2412:3;2408:19;2404:30;2401:2;;;2447:1;2444;2437:12;2401:2;2465:20;2480:4;2465:20;;;2456:29;-1:-1;2543:1;2574:49;2619:3;2599:9;2574:49;;;2550:74;;-1:-1;2721:2;2706:18;;2693:32;2745:18;2734:30;;2731:2;;;2777:1;2774;2767:12;2731:2;2812:89;2897:3;2888:6;2877:9;2873:22;2812:89;;;2805:4;2798:5;2794:16;2787:115;2645:268;2963:2;2996:49;3041:3;3032:6;3021:9;3017:22;2996:49;;;2989:4;2982:5;2978:16;2971:75;2923:134;2395:672;;;;;3199:377;;3328:2;3316:9;3307:7;3303:23;3299:32;3296:2;;;3344:1;3341;3334:12;3296:2;3379:31;;3430:18;3419:30;;3416:2;;;3462:1;3459;3452:12;3416:2;3482:78;3552:7;3543:6;3532:9;3528:22;3482:78;;;3472:88;3290:286;-1:-1;;;;3290:286;3583:638;;;3754:2;3742:9;3733:7;3729:23;3725:32;3722:2;;;3770:1;3767;3760:12;3722:2;3805:31;;3856:18;3845:30;;3842:2;;;3888:1;3885;3878:12;3842:2;3908:78;3978:7;3969:6;3958:9;3954:22;3908:78;;;3898:88;;3784:208;4051:2;4040:9;4036:18;4023:32;4075:18;4067:6;4064:30;4061:2;;;4107:1;4104;4097:12;4061:2;4127:78;4197:7;4188:6;4177:9;4173:22;4127:78;;;4117:88;;4002:209;3716:505;;;;;;4228:101;4295:28;4317:5;4295:28;;;4290:3;4283:41;4277:52;;;4336:110;4409:31;4434:5;4409:31;;4453:181;4555:2;4540:18;;4569:55;4544:9;4597:6;4569:55;;4641:193;4749:2;4734:18;;4763:61;4738:9;4797:6;4763:61;;4841:256;4903:2;4897:9;4929:17;;;5004:18;4989:34;;5025:22;;;4986:62;4983:2;;;5061:1;5058;5051:12;4983:2;5077;5070:22;4881:216;;-1:-1;4881:216;5104:273;;5278:18;5270:6;5267:30;5264:2;;;5310:1;5307;5300:12;5264:2;-1:-1;5339:4;5327:17;;;5357:15;;5201:176;5384:229;;5537:18;5529:6;5526:30;5523:2;;;5569:1;5566;5559:12;5523:2;-1:-1;5598:4;5586:17;;5460:153;5885:92;5958:13;5951:21;;5934:43;5984:79;6053:5;6036:27",
  "source": "pragma solidity ^0.4.24;\npragma experimental ABIEncoderV2;\n\ncontract GameObject {\n    \n    struct gameData {\n        //custom field\n        uint256 playerNumber;\n        \n        // required field\n        uint256[2][] randomRanges;\n        bytes32      seed;\n    }\n\n    // If you use other custom field, add it in function\n    function hashGameData(gameData _gameData) public pure returns(bytes32) {\n        return keccak256(abi.encodePacked(\n            //_gameData.customField\n            _gameData.playerNumber,\n            _gameData.randomRanges,\n            _gameData.seed\n        ));\n    }\n\n    function checkGameData(gameData _gameData, uint[] _bets) public pure returns (bool) {\n        if (\n            _gameData.randomRanges.length != uint(1) ||\n            _gameData.playerNumber < uint(0)         || \n            _gameData.playerNumber > uint(65535)     ||\n            _bets[0] > 100 ether\n            ) {\n            return false;\n        }\n        return true;\n    }\n\n}",
  "sourcePath": "/Users/fanyshu/Documents/Projects/DCLabs/monorepo/packages/dc-sdk-example/dapp/contracts/game/GameObject.sol",
  "ast": {
    "absolutePath": "/Users/fanyshu/Documents/Projects/DCLabs/monorepo/packages/dc-sdk-example/dapp/contracts/game/GameObject.sol",
    "exportedSymbols": {
      "GameObject": [
        362
      ]
    },
    "id": 363,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 286,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:3"
      },
      {
        "id": 287,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "25:33:3"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 362,
        "linearizedBaseContracts": [
          362
        ],
        "name": "GameObject",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "GameObject.gameData",
            "id": 297,
            "members": [
              {
                "constant": false,
                "id": 289,
                "name": "playerNumber",
                "nodeType": "VariableDeclaration",
                "scope": 297,
                "src": "140:20:3",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 288,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "140:7:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 294,
                "name": "randomRanges",
                "nodeType": "VariableDeclaration",
                "scope": 297,
                "src": "205:25:3",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$dyn_storage_ptr",
                  "typeString": "uint256[2][]"
                },
                "typeName": {
                  "baseType": {
                    "baseType": {
                      "id": 290,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "205:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 292,
                    "length": {
                      "argumentTypes": null,
                      "hexValue": "32",
                      "id": 291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "213:1:3",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": null,
                        "typeString": null
                      },
                      "value": "2"
                    },
                    "nodeType": "ArrayTypeName",
                    "src": "205:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr",
                      "typeString": "uint256[2]"
                    }
                  },
                  "id": 293,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "205:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$dyn_storage_ptr",
                    "typeString": "uint256[2][]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 296,
                "name": "seed",
                "nodeType": "VariableDeclaration",
                "scope": 297,
                "src": "240:17:3",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 295,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "240:7:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "gameData",
            "nodeType": "StructDefinition",
            "scope": 362,
            "src": "91:173:3",
            "visibility": "public"
          },
          {
            "body": {
              "id": 316,
              "nodeType": "Block",
              "src": "398:197:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 307,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 299,
                              "src": "491:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 308,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "playerNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 289,
                            "src": "491:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 309,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 299,
                              "src": "527:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 310,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "randomRanges",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 294,
                            "src": "527:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$dyn_memory",
                              "typeString": "uint256[2] memory[] memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 311,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 299,
                              "src": "563:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 312,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "seed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 296,
                            "src": "563:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$dyn_memory",
                              "typeString": "uint256[2] memory[] memory"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 305,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3264,
                            "src": "425:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 306,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "425:16:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 313,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "425:162:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 304,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3271,
                      "src": "415:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "415:173:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 303,
                  "id": 315,
                  "nodeType": "Return",
                  "src": "408:180:3"
                }
              ]
            },
            "documentation": null,
            "id": 317,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "hashGameData",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 300,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 299,
                  "name": "_gameData",
                  "nodeType": "VariableDeclaration",
                  "scope": 317,
                  "src": "349:18:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                    "typeString": "struct GameObject.gameData"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 298,
                    "name": "gameData",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 297,
                    "src": "349:8:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_gameData_$297_storage_ptr",
                      "typeString": "struct GameObject.gameData"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "348:20:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 303,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 302,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 317,
                  "src": "389:7:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 301,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "389:7:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "388:9:3"
            },
            "scope": 362,
            "src": "327:268:3",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 360,
              "nodeType": "Block",
              "src": "685:295:3",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 353,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 347,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 340,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 333,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 327,
                                "name": "_gameData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 319,
                                "src": "712:9:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                  "typeString": "struct GameObject.gameData memory"
                                }
                              },
                              "id": 328,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "randomRanges",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 294,
                              "src": "712:22:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$dyn_memory",
                                "typeString": "uint256[2] memory[] memory"
                              }
                            },
                            "id": 329,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "712:29:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 331,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "750:1:3",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                }
                              ],
                              "id": 330,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "745:4:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": "uint"
                            },
                            "id": 332,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "745:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "712:40:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 339,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 334,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 319,
                              "src": "768:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 335,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "playerNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 289,
                            "src": "768:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 337,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "798:1:3",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 336,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "793:4:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": "uint"
                            },
                            "id": 338,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "793:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "768:32:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "712:88:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 346,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 341,
                            "name": "_gameData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 319,
                            "src": "825:9:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                              "typeString": "struct GameObject.gameData memory"
                            }
                          },
                          "id": 342,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "playerNumber",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 289,
                          "src": "825:22:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "3635353335",
                              "id": 344,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "855:5:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_65535_by_1",
                                "typeString": "int_const 65535"
                              },
                              "value": "65535"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_65535_by_1",
                                "typeString": "int_const 65535"
                              }
                            ],
                            "id": 343,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "850:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": "uint"
                          },
                          "id": 345,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "850:11:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "825:36:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "712:149:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 352,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 348,
                          "name": "_bets",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 322,
                          "src": "881:5:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 350,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 349,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "887:1:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "881:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "313030",
                        "id": 351,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "892:9:3",
                        "subdenomination": "ether",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100000000000000000000_by_1",
                          "typeString": "int_const 100000000000000000000"
                        },
                        "value": "100"
                      },
                      "src": "881:20:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "712:189:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 357,
                  "nodeType": "IfStatement",
                  "src": "695:258:3",
                  "trueBody": {
                    "id": 356,
                    "nodeType": "Block",
                    "src": "916:37:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 354,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "937:5:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 326,
                        "id": 355,
                        "nodeType": "Return",
                        "src": "930:12:3"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 358,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "969:4:3",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 326,
                  "id": 359,
                  "nodeType": "Return",
                  "src": "962:11:3"
                }
              ]
            },
            "documentation": null,
            "id": 361,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "checkGameData",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 323,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 319,
                  "name": "_gameData",
                  "nodeType": "VariableDeclaration",
                  "scope": 361,
                  "src": "624:18:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                    "typeString": "struct GameObject.gameData"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 318,
                    "name": "gameData",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 297,
                    "src": "624:8:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_gameData_$297_storage_ptr",
                      "typeString": "struct GameObject.gameData"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 322,
                  "name": "_bets",
                  "nodeType": "VariableDeclaration",
                  "scope": 361,
                  "src": "644:12:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 320,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "644:4:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 321,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "644:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "623:34:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 326,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 325,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 361,
                  "src": "679:4:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 324,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "679:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "678:6:3"
            },
            "scope": 362,
            "src": "601:379:3",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 363,
        "src": "60:923:3"
      }
    ],
    "src": "0:983:3"
  },
  "legacyAST": {
    "absolutePath": "/Users/fanyshu/Documents/Projects/DCLabs/monorepo/packages/dc-sdk-example/dapp/contracts/game/GameObject.sol",
    "exportedSymbols": {
      "GameObject": [
        362
      ]
    },
    "id": 363,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 286,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:3"
      },
      {
        "id": 287,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "25:33:3"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 362,
        "linearizedBaseContracts": [
          362
        ],
        "name": "GameObject",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "GameObject.gameData",
            "id": 297,
            "members": [
              {
                "constant": false,
                "id": 289,
                "name": "playerNumber",
                "nodeType": "VariableDeclaration",
                "scope": 297,
                "src": "140:20:3",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 288,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "140:7:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 294,
                "name": "randomRanges",
                "nodeType": "VariableDeclaration",
                "scope": 297,
                "src": "205:25:3",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$dyn_storage_ptr",
                  "typeString": "uint256[2][]"
                },
                "typeName": {
                  "baseType": {
                    "baseType": {
                      "id": 290,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "205:7:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 292,
                    "length": {
                      "argumentTypes": null,
                      "hexValue": "32",
                      "id": 291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "213:1:3",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": null,
                        "typeString": null
                      },
                      "value": "2"
                    },
                    "nodeType": "ArrayTypeName",
                    "src": "205:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr",
                      "typeString": "uint256[2]"
                    }
                  },
                  "id": 293,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "205:12:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$dyn_storage_ptr",
                    "typeString": "uint256[2][]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 296,
                "name": "seed",
                "nodeType": "VariableDeclaration",
                "scope": 297,
                "src": "240:17:3",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 295,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "240:7:3",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "gameData",
            "nodeType": "StructDefinition",
            "scope": 362,
            "src": "91:173:3",
            "visibility": "public"
          },
          {
            "body": {
              "id": 316,
              "nodeType": "Block",
              "src": "398:197:3",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 307,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 299,
                              "src": "491:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 308,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "playerNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 289,
                            "src": "491:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 309,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 299,
                              "src": "527:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 310,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "randomRanges",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 294,
                            "src": "527:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$dyn_memory",
                              "typeString": "uint256[2] memory[] memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 311,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 299,
                              "src": "563:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 312,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "seed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 296,
                            "src": "563:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$dyn_memory",
                              "typeString": "uint256[2] memory[] memory"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 305,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3264,
                            "src": "425:3:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 306,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "425:16:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 313,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "425:162:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 304,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3271,
                      "src": "415:9:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "415:173:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 303,
                  "id": 315,
                  "nodeType": "Return",
                  "src": "408:180:3"
                }
              ]
            },
            "documentation": null,
            "id": 317,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "hashGameData",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 300,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 299,
                  "name": "_gameData",
                  "nodeType": "VariableDeclaration",
                  "scope": 317,
                  "src": "349:18:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                    "typeString": "struct GameObject.gameData"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 298,
                    "name": "gameData",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 297,
                    "src": "349:8:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_gameData_$297_storage_ptr",
                      "typeString": "struct GameObject.gameData"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "348:20:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 303,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 302,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 317,
                  "src": "389:7:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 301,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "389:7:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "388:9:3"
            },
            "scope": 362,
            "src": "327:268:3",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 360,
              "nodeType": "Block",
              "src": "685:295:3",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 353,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 347,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 340,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 333,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 327,
                                "name": "_gameData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 319,
                                "src": "712:9:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                  "typeString": "struct GameObject.gameData memory"
                                }
                              },
                              "id": 328,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "randomRanges",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 294,
                              "src": "712:22:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$dyn_memory",
                                "typeString": "uint256[2] memory[] memory"
                              }
                            },
                            "id": 329,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "712:29:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 331,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "750:1:3",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                }
                              ],
                              "id": 330,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "745:4:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": "uint"
                            },
                            "id": 332,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "745:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "712:40:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 339,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 334,
                              "name": "_gameData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 319,
                              "src": "768:9:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                                "typeString": "struct GameObject.gameData memory"
                              }
                            },
                            "id": 335,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "playerNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 289,
                            "src": "768:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 337,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "798:1:3",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 336,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "793:4:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": "uint"
                            },
                            "id": 338,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "793:7:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "768:32:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "712:88:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 346,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 341,
                            "name": "_gameData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 319,
                            "src": "825:9:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                              "typeString": "struct GameObject.gameData memory"
                            }
                          },
                          "id": 342,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "playerNumber",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 289,
                          "src": "825:22:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "3635353335",
                              "id": 344,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "855:5:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_65535_by_1",
                                "typeString": "int_const 65535"
                              },
                              "value": "65535"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_65535_by_1",
                                "typeString": "int_const 65535"
                              }
                            ],
                            "id": 343,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "850:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": "uint"
                          },
                          "id": 345,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "850:11:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "825:36:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "712:149:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 352,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 348,
                          "name": "_bets",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 322,
                          "src": "881:5:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 350,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 349,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "887:1:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "881:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "313030",
                        "id": 351,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "892:9:3",
                        "subdenomination": "ether",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100000000000000000000_by_1",
                          "typeString": "int_const 100000000000000000000"
                        },
                        "value": "100"
                      },
                      "src": "881:20:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "712:189:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 357,
                  "nodeType": "IfStatement",
                  "src": "695:258:3",
                  "trueBody": {
                    "id": 356,
                    "nodeType": "Block",
                    "src": "916:37:3",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 354,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "937:5:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 326,
                        "id": 355,
                        "nodeType": "Return",
                        "src": "930:12:3"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 358,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "969:4:3",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 326,
                  "id": 359,
                  "nodeType": "Return",
                  "src": "962:11:3"
                }
              ]
            },
            "documentation": null,
            "id": 361,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "checkGameData",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 323,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 319,
                  "name": "_gameData",
                  "nodeType": "VariableDeclaration",
                  "scope": 361,
                  "src": "624:18:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_gameData_$297_memory_ptr",
                    "typeString": "struct GameObject.gameData"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 318,
                    "name": "gameData",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 297,
                    "src": "624:8:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_gameData_$297_storage_ptr",
                      "typeString": "struct GameObject.gameData"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 322,
                  "name": "_bets",
                  "nodeType": "VariableDeclaration",
                  "scope": 361,
                  "src": "644:12:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 320,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "644:4:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 321,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "644:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "623:34:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 326,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 325,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 361,
                  "src": "679:4:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 324,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "679:4:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "678:6:3"
            },
            "scope": 362,
            "src": "601:379:3",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 363,
        "src": "60:923:3"
      }
    ],
    "src": "0:983:3"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.0-beta.0",
  "updatedAt": "2018-12-04T11:48:18.066Z"
}