{
  "contractName": "Market",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "creator",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "marketMaker",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "createdAtBlock",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "netOutcomeTokensSold",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "stage",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "funding",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "fee",
      "outputs": [
        {
          "name": "",
          "type": "uint24"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "eventContract",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "funding",
          "type": "uint256"
        }
      ],
      "name": "MarketFunding",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "MarketClosing",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "fees",
          "type": "uint256"
        }
      ],
      "name": "FeeWithdrawal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "buyer",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "outcomeTokenIndex",
          "type": "uint8"
        },
        {
          "indexed": false,
          "name": "outcomeTokenCount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "outcomeTokenCost",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "marketFees",
          "type": "uint256"
        }
      ],
      "name": "OutcomeTokenPurchase",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "seller",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "outcomeTokenIndex",
          "type": "uint8"
        },
        {
          "indexed": false,
          "name": "outcomeTokenCount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "outcomeTokenProfit",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "marketFees",
          "type": "uint256"
        }
      ],
      "name": "OutcomeTokenSale",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "buyer",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "outcomeTokenIndex",
          "type": "uint8"
        },
        {
          "indexed": false,
          "name": "outcomeTokenCount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "cost",
          "type": "uint256"
        }
      ],
      "name": "OutcomeTokenShortSale",
      "type": "event"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061028b806100206000396000f30060806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302d05d3f81146100925780631f21f9af146100d057806359acb42c146100e5578063a157979c1461010c578063c040e6b814610124578063cb4c86b71461015d578063ddca3f4314610172578063e274fd241461019f575b600080fd5b34801561009e57600080fd5b506100a76101b4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100dc57600080fd5b506100a76101d0565b3480156100f157600080fd5b506100fa6101ec565b60408051918252519081900360200190f35b34801561011857600080fd5b506100fa6004356101f2565b34801561013057600080fd5b50610139610211565b6040518082600281111561014957fe5b60ff16815260200191505060405180910390f35b34801561016957600080fd5b506100fa61021a565b34801561017e57600080fd5b50610187610220565b6040805162ffffff9092168252519081900360200190f35b3480156101ab57600080fd5b506100a7610243565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600580548290811061020057fe5b600091825260209091200154905081565b60065460ff1681565b60045481565b60035474010000000000000000000000000000000000000000900462ffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820295c6efe419b32fea29877157dcb277480b6ebf535eee83b5a6184f9848d3e480029",
  "deployedBytecode": "0x60806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302d05d3f81146100925780631f21f9af146100d057806359acb42c146100e5578063a157979c1461010c578063c040e6b814610124578063cb4c86b71461015d578063ddca3f4314610172578063e274fd241461019f575b600080fd5b34801561009e57600080fd5b506100a76101b4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100dc57600080fd5b506100a76101d0565b3480156100f157600080fd5b506100fa6101ec565b60408051918252519081900360200190f35b34801561011857600080fd5b506100fa6004356101f2565b34801561013057600080fd5b50610139610211565b6040518082600281111561014957fe5b60ff16815260200191505060405180910390f35b34801561016957600080fd5b506100fa61021a565b34801561017e57600080fd5b50610187610220565b6040805162ffffff9092168252519081900360200190f35b3480156101ab57600080fd5b506100a7610243565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600580548290811061020057fe5b600091825260209091200154905081565b60065460ff1681565b60045481565b60035474010000000000000000000000000000000000000000900462ffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820295c6efe419b32fea29877157dcb277480b6ebf535eee83b5a6184f9848d3e480029",
  "sourceMap": "170:925:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;170:925:2;;;;;;;",
  "deployedSourceMap": "170:925:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;760:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;760:22:2;;;;;;;;;;;;;;;;;;;;;;;858:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;858:30:2;;;;788:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;788:26:2;;;;;;;;;;;;;;;;;;;;942:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;942:33:2;;;;;981:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;981:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;917;;8:9:-1;5:2;;;30:1;27;20:12;5:2;917:19:2;;;;894:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;894:17:2;;;;;;;;;;;;;;;;;;;;;;;820:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;820:32:2;;;;760:22;;;;;;:::o;858:30::-;;;;;;:::o;788:26::-;;;;:::o;942:33::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:33:2;:::o;981:19::-;;;;;;:::o;917:::-;;;;:::o;894:17::-;;;;;;;;;:::o;820:32::-;;;;;;:::o",
  "source": "pragma solidity ^0.4.15;\nimport \"../ScalarEvent.sol\";\n\nimport \"./MarketMaker.sol\";\n\n/// @title Abstract market contract - Functions to be implemented by market contracts\ncontract Market {\n\n    /*\n     *  Events\n     */\n    event MarketFunding(uint funding);\n    event MarketClosing();\n    event FeeWithdrawal(uint fees);\n    event OutcomeTokenPurchase(address indexed buyer, uint8 outcomeTokenIndex, uint outcomeTokenCount, uint outcomeTokenCost, uint marketFees);\n    event OutcomeTokenSale(address indexed seller, uint8 outcomeTokenIndex, uint outcomeTokenCount, uint outcomeTokenProfit, uint marketFees);\n    event OutcomeTokenShortSale(address indexed buyer, uint8 outcomeTokenIndex, uint outcomeTokenCount, uint cost);\n\n    /*\n     *  Storage\n     */\n    address public creator;\n    uint public createdAtBlock;\n    ScalarEvent public eventContract;\n    MarketMaker public marketMaker;\n    uint24 public fee;\n    uint public funding;\n    int[] public netOutcomeTokensSold;\n    Stages public stage;\n\n    enum Stages {\n        MarketCreated,\n        MarketFunded,\n        MarketClosed\n    }\n\n}\n",
  "sourcePath": "/home/josojo/reality/tokenized-events/contracts/Market/Market.sol",
  "ast": {
    "absolutePath": "/home/josojo/reality/tokenized-events/contracts/Market/Market.sol",
    "exportedSymbols": {
      "Market": [
        885
      ]
    },
    "id": 886,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 817,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".15"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:2"
      },
      {
        "absolutePath": "/home/josojo/reality/tokenized-events/contracts/ScalarEvent.sol",
        "file": "../ScalarEvent.sol",
        "id": 818,
        "nodeType": "ImportDirective",
        "scope": 886,
        "sourceUnit": 2416,
        "src": "25:28:2",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/josojo/reality/tokenized-events/contracts/Market/MarketMaker.sol",
        "file": "./MarketMaker.sol",
        "id": 819,
        "nodeType": "ImportDirective",
        "scope": 886,
        "sourceUnit": 921,
        "src": "55:27:2",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": "@title Abstract market contract - Functions to be implemented by market contracts",
        "fullyImplemented": true,
        "id": 885,
        "linearizedBaseContracts": [
          885
        ],
        "name": "Market",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 823,
            "name": "MarketFunding",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 822,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 821,
                  "indexed": false,
                  "name": "funding",
                  "nodeType": "VariableDeclaration",
                  "scope": 823,
                  "src": "243:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 820,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "243:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "242:14:2"
            },
            "src": "223:34:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 825,
            "name": "MarketClosing",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 824,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "281:2:2"
            },
            "src": "262:22:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 829,
            "name": "FeeWithdrawal",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 827,
                  "indexed": false,
                  "name": "fees",
                  "nodeType": "VariableDeclaration",
                  "scope": 829,
                  "src": "309:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 826,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "309:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "308:11:2"
            },
            "src": "289:31:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 841,
            "name": "OutcomeTokenPurchase",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 840,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 831,
                  "indexed": true,
                  "name": "buyer",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "352:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 830,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "352:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 833,
                  "indexed": false,
                  "name": "outcomeTokenIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "375:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 832,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "375:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 835,
                  "indexed": false,
                  "name": "outcomeTokenCount",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "400:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 834,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "400:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 837,
                  "indexed": false,
                  "name": "outcomeTokenCost",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "424:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 836,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "424:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 839,
                  "indexed": false,
                  "name": "marketFees",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "447:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 838,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "447:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "351:112:2"
            },
            "src": "325:139:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 853,
            "name": "OutcomeTokenSale",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 843,
                  "indexed": true,
                  "name": "seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "492:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 842,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "492:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 845,
                  "indexed": false,
                  "name": "outcomeTokenIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "516:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 844,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "516:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 847,
                  "indexed": false,
                  "name": "outcomeTokenCount",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "541:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 846,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "541:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 849,
                  "indexed": false,
                  "name": "outcomeTokenProfit",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "565:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 848,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "565:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 851,
                  "indexed": false,
                  "name": "marketFees",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "590:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 850,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "590:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "491:115:2"
            },
            "src": "469:138:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 863,
            "name": "OutcomeTokenShortSale",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 862,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 855,
                  "indexed": true,
                  "name": "buyer",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "640:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 854,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "640:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 857,
                  "indexed": false,
                  "name": "outcomeTokenIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "663:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 856,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "663:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 859,
                  "indexed": false,
                  "name": "outcomeTokenCount",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "688:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 858,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "688:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 861,
                  "indexed": false,
                  "name": "cost",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "712:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 860,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "712:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "639:83:2"
            },
            "src": "612:111:2"
          },
          {
            "constant": false,
            "id": 865,
            "name": "creator",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "760:22:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 864,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "760:7:2",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 867,
            "name": "createdAtBlock",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "788:26:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 866,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "788:4:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 869,
            "name": "eventContract",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "820:32:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ScalarEvent_$2415",
              "typeString": "contract ScalarEvent"
            },
            "typeName": {
              "contractScope": null,
              "id": 868,
              "name": "ScalarEvent",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2415,
              "src": "820:11:2",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ScalarEvent_$2415",
                "typeString": "contract ScalarEvent"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 871,
            "name": "marketMaker",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "858:30:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_MarketMaker_$920",
              "typeString": "contract MarketMaker"
            },
            "typeName": {
              "contractScope": null,
              "id": 870,
              "name": "MarketMaker",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 920,
              "src": "858:11:2",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MarketMaker_$920",
                "typeString": "contract MarketMaker"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 873,
            "name": "fee",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "894:17:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint24",
              "typeString": "uint24"
            },
            "typeName": {
              "id": 872,
              "name": "uint24",
              "nodeType": "ElementaryTypeName",
              "src": "894:6:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint24",
                "typeString": "uint24"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 875,
            "name": "funding",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "917:19:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 874,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "917:4:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 878,
            "name": "netOutcomeTokensSold",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "942:33:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_int256_$dyn_storage",
              "typeString": "int256[]"
            },
            "typeName": {
              "baseType": {
                "id": 876,
                "name": "int",
                "nodeType": "ElementaryTypeName",
                "src": "942:3:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                }
              },
              "id": 877,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "942:5:2",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
                "typeString": "int256[]"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 880,
            "name": "stage",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "981:19:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_enum$_Stages_$884",
              "typeString": "enum Market.Stages"
            },
            "typeName": {
              "contractScope": null,
              "id": 879,
              "name": "Stages",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 884,
              "src": "981:6:2",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_Stages_$884",
                "typeString": "enum Market.Stages"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "canonicalName": "Market.Stages",
            "id": 884,
            "members": [
              {
                "id": 881,
                "name": "MarketCreated",
                "nodeType": "EnumValue",
                "src": "1029:13:2"
              },
              {
                "id": 882,
                "name": "MarketFunded",
                "nodeType": "EnumValue",
                "src": "1052:12:2"
              },
              {
                "id": 883,
                "name": "MarketClosed",
                "nodeType": "EnumValue",
                "src": "1074:12:2"
              }
            ],
            "name": "Stages",
            "nodeType": "EnumDefinition",
            "src": "1007:85:2"
          }
        ],
        "scope": 886,
        "src": "170:925:2"
      }
    ],
    "src": "0:1096:2"
  },
  "legacyAST": {
    "absolutePath": "/home/josojo/reality/tokenized-events/contracts/Market/Market.sol",
    "exportedSymbols": {
      "Market": [
        885
      ]
    },
    "id": 886,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 817,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".15"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:2"
      },
      {
        "absolutePath": "/home/josojo/reality/tokenized-events/contracts/ScalarEvent.sol",
        "file": "../ScalarEvent.sol",
        "id": 818,
        "nodeType": "ImportDirective",
        "scope": 886,
        "sourceUnit": 2416,
        "src": "25:28:2",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/josojo/reality/tokenized-events/contracts/Market/MarketMaker.sol",
        "file": "./MarketMaker.sol",
        "id": 819,
        "nodeType": "ImportDirective",
        "scope": 886,
        "sourceUnit": 921,
        "src": "55:27:2",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": "@title Abstract market contract - Functions to be implemented by market contracts",
        "fullyImplemented": true,
        "id": 885,
        "linearizedBaseContracts": [
          885
        ],
        "name": "Market",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 823,
            "name": "MarketFunding",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 822,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 821,
                  "indexed": false,
                  "name": "funding",
                  "nodeType": "VariableDeclaration",
                  "scope": 823,
                  "src": "243:12:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 820,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "243:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "242:14:2"
            },
            "src": "223:34:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 825,
            "name": "MarketClosing",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 824,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "281:2:2"
            },
            "src": "262:22:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 829,
            "name": "FeeWithdrawal",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 827,
                  "indexed": false,
                  "name": "fees",
                  "nodeType": "VariableDeclaration",
                  "scope": 829,
                  "src": "309:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 826,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "309:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "308:11:2"
            },
            "src": "289:31:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 841,
            "name": "OutcomeTokenPurchase",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 840,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 831,
                  "indexed": true,
                  "name": "buyer",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "352:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 830,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "352:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 833,
                  "indexed": false,
                  "name": "outcomeTokenIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "375:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 832,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "375:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 835,
                  "indexed": false,
                  "name": "outcomeTokenCount",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "400:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 834,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "400:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 837,
                  "indexed": false,
                  "name": "outcomeTokenCost",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "424:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 836,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "424:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 839,
                  "indexed": false,
                  "name": "marketFees",
                  "nodeType": "VariableDeclaration",
                  "scope": 841,
                  "src": "447:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 838,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "447:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "351:112:2"
            },
            "src": "325:139:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 853,
            "name": "OutcomeTokenSale",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 843,
                  "indexed": true,
                  "name": "seller",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "492:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 842,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "492:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 845,
                  "indexed": false,
                  "name": "outcomeTokenIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "516:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 844,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "516:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 847,
                  "indexed": false,
                  "name": "outcomeTokenCount",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "541:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 846,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "541:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 849,
                  "indexed": false,
                  "name": "outcomeTokenProfit",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "565:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 848,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "565:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 851,
                  "indexed": false,
                  "name": "marketFees",
                  "nodeType": "VariableDeclaration",
                  "scope": 853,
                  "src": "590:15:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 850,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "590:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "491:115:2"
            },
            "src": "469:138:2"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 863,
            "name": "OutcomeTokenShortSale",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 862,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 855,
                  "indexed": true,
                  "name": "buyer",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "640:21:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 854,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "640:7:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 857,
                  "indexed": false,
                  "name": "outcomeTokenIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "663:23:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 856,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "663:5:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 859,
                  "indexed": false,
                  "name": "outcomeTokenCount",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "688:22:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 858,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "688:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 861,
                  "indexed": false,
                  "name": "cost",
                  "nodeType": "VariableDeclaration",
                  "scope": 863,
                  "src": "712:9:2",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 860,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "712:4:2",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "639:83:2"
            },
            "src": "612:111:2"
          },
          {
            "constant": false,
            "id": 865,
            "name": "creator",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "760:22:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 864,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "760:7:2",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 867,
            "name": "createdAtBlock",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "788:26:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 866,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "788:4:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 869,
            "name": "eventContract",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "820:32:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ScalarEvent_$2415",
              "typeString": "contract ScalarEvent"
            },
            "typeName": {
              "contractScope": null,
              "id": 868,
              "name": "ScalarEvent",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2415,
              "src": "820:11:2",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ScalarEvent_$2415",
                "typeString": "contract ScalarEvent"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 871,
            "name": "marketMaker",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "858:30:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_MarketMaker_$920",
              "typeString": "contract MarketMaker"
            },
            "typeName": {
              "contractScope": null,
              "id": 870,
              "name": "MarketMaker",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 920,
              "src": "858:11:2",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MarketMaker_$920",
                "typeString": "contract MarketMaker"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 873,
            "name": "fee",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "894:17:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint24",
              "typeString": "uint24"
            },
            "typeName": {
              "id": 872,
              "name": "uint24",
              "nodeType": "ElementaryTypeName",
              "src": "894:6:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint24",
                "typeString": "uint24"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 875,
            "name": "funding",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "917:19:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 874,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "917:4:2",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 878,
            "name": "netOutcomeTokensSold",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "942:33:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_int256_$dyn_storage",
              "typeString": "int256[]"
            },
            "typeName": {
              "baseType": {
                "id": 876,
                "name": "int",
                "nodeType": "ElementaryTypeName",
                "src": "942:3:2",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                }
              },
              "id": 877,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "942:5:2",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
                "typeString": "int256[]"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 880,
            "name": "stage",
            "nodeType": "VariableDeclaration",
            "scope": 885,
            "src": "981:19:2",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_enum$_Stages_$884",
              "typeString": "enum Market.Stages"
            },
            "typeName": {
              "contractScope": null,
              "id": 879,
              "name": "Stages",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 884,
              "src": "981:6:2",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_Stages_$884",
                "typeString": "enum Market.Stages"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "canonicalName": "Market.Stages",
            "id": 884,
            "members": [
              {
                "id": 881,
                "name": "MarketCreated",
                "nodeType": "EnumValue",
                "src": "1029:13:2"
              },
              {
                "id": 882,
                "name": "MarketFunded",
                "nodeType": "EnumValue",
                "src": "1052:12:2"
              },
              {
                "id": 883,
                "name": "MarketClosed",
                "nodeType": "EnumValue",
                "src": "1074:12:2"
              }
            ],
            "name": "Stages",
            "nodeType": "EnumDefinition",
            "src": "1007:85:2"
          }
        ],
        "scope": 886,
        "src": "170:925:2"
      }
    ],
    "src": "0:1096:2"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.0-beta.1",
  "updatedAt": "2018-11-11T16:30:48.170Z"
}