@josojo/realitytoken-contracts
Version:
realitytoken basic contracts
1,579 lines • 109 kB
JSON
{
"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"
},
{
"constant": false,
"inputs": [
{
"name": "_funding",
"type": "uint256"
}
],
"name": "fund",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "close",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "withdrawFees",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "outcomeTokenIndex",
"type": "uint8"
},
{
"name": "outcomeTokenCount",
"type": "uint256"
},
{
"name": "maxCost",
"type": "uint256"
}
],
"name": "buy",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "outcomeTokenIndex",
"type": "uint8"
},
{
"name": "outcomeTokenCount",
"type": "uint256"
},
{
"name": "minProfit",
"type": "uint256"
}
],
"name": "sell",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "outcomeTokenIndex",
"type": "uint8"
},
{
"name": "outcomeTokenCount",
"type": "uint256"
},
{
"name": "minProfit",
"type": "uint256"
}
],
"name": "shortSell",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "outcomeTokenCost",
"type": "uint256"
}
],
"name": "calcMarketFee",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.4.15;\nimport \"../Events/Event.sol\";\nimport \"../MarketMakers/MarketMaker.sol\";\n\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 Event 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 * Public functions\n */\n function fund(uint _funding) public;\n function close() public;\n function withdrawFees() public returns (uint);\n function buy(uint8 outcomeTokenIndex, uint outcomeTokenCount, uint maxCost) public returns (uint);\n function sell(uint8 outcomeTokenIndex, uint outcomeTokenCount, uint minProfit) public returns (uint);\n function shortSell(uint8 outcomeTokenIndex, uint outcomeTokenCount, uint minProfit) public returns (uint);\n function calcMarketFee(uint outcomeTokenCost) public constant returns (uint);\n}\n",
"sourcePath": "@gnosis.pm/pm-contracts/contracts/Markets/Market.sol",
"ast": {
"absolutePath": "@gnosis.pm/pm-contracts/contracts/Markets/Market.sol",
"exportedSymbols": {
"Market": [
2374
]
},
"id": 2375,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2253,
"literals": [
"solidity",
"^",
"0.4",
".15"
],
"nodeType": "PragmaDirective",
"src": "0:24:9"
},
{
"absolutePath": "@gnosis.pm/pm-contracts/contracts/Events/Event.sol",
"file": "../Events/Event.sol",
"id": 2254,
"nodeType": "ImportDirective",
"scope": 2375,
"sourceUnit": 1681,
"src": "25:29:9",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@gnosis.pm/pm-contracts/contracts/MarketMakers/MarketMaker.sol",
"file": "../MarketMakers/MarketMaker.sol",
"id": 2255,
"nodeType": "ImportDirective",
"scope": 2375,
"sourceUnit": 2252,
"src": "55:41:9",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": "@title Abstract market contract - Functions to be implemented by market contracts",
"fullyImplemented": false,
"id": 2374,
"linearizedBaseContracts": [
2374
],
"name": "Market",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": null,
"id": 2259,
"name": "MarketFunding",
"nodeType": "EventDefinition",
"parameters": {
"id": 2258,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2257,
"indexed": false,
"name": "funding",
"nodeType": "VariableDeclaration",
"scope": 2259,
"src": "258:12:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2256,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "258:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "257:14:9"
},
"src": "238:34:9"
},
{
"anonymous": false,
"documentation": null,
"id": 2261,
"name": "MarketClosing",
"nodeType": "EventDefinition",
"parameters": {
"id": 2260,
"nodeType": "ParameterList",
"parameters": [],
"src": "296:2:9"
},
"src": "277:22:9"
},
{
"anonymous": false,
"documentation": null,
"id": 2265,
"name": "FeeWithdrawal",
"nodeType": "EventDefinition",
"parameters": {
"id": 2264,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2263,
"indexed": false,
"name": "fees",
"nodeType": "VariableDeclaration",
"scope": 2265,
"src": "324:9:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2262,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "324:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "323:11:9"
},
"src": "304:31:9"
},
{
"anonymous": false,
"documentation": null,
"id": 2277,
"name": "OutcomeTokenPurchase",
"nodeType": "EventDefinition",
"parameters": {
"id": 2276,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2267,
"indexed": true,
"name": "buyer",
"nodeType": "VariableDeclaration",
"scope": 2277,
"src": "367:21:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2266,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "367:7:9",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2269,
"indexed": false,
"name": "outcomeTokenIndex",
"nodeType": "VariableDeclaration",
"scope": 2277,
"src": "390:23:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 2268,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "390:5:9",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2271,
"indexed": false,
"name": "outcomeTokenCount",
"nodeType": "VariableDeclaration",
"scope": 2277,
"src": "415:22:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2270,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "415:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2273,
"indexed": false,
"name": "outcomeTokenCost",
"nodeType": "VariableDeclaration",
"scope": 2277,
"src": "439:21:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2272,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "439:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2275,
"indexed": false,
"name": "marketFees",
"nodeType": "VariableDeclaration",
"scope": 2277,
"src": "462:15:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2274,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "462:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "366:112:9"
},
"src": "340:139:9"
},
{
"anonymous": false,
"documentation": null,
"id": 2289,
"name": "OutcomeTokenSale",
"nodeType": "EventDefinition",
"parameters": {
"id": 2288,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2279,
"indexed": true,
"name": "seller",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "507:22:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2278,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "507:7:9",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2281,
"indexed": false,
"name": "outcomeTokenIndex",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "531:23:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 2280,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "531:5:9",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2283,
"indexed": false,
"name": "outcomeTokenCount",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "556:22:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2282,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "556:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2285,
"indexed": false,
"name": "outcomeTokenProfit",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "580:23:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2284,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "580:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2287,
"indexed": false,
"name": "marketFees",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "605:15:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2286,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "605:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "506:115:9"
},
"src": "484:138:9"
},
{
"anonymous": false,
"documentation": null,
"id": 2299,
"name": "OutcomeTokenShortSale",
"nodeType": "EventDefinition",
"parameters": {
"id": 2298,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2291,
"indexed": true,
"name": "buyer",
"nodeType": "VariableDeclaration",
"scope": 2299,
"src": "655:21:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2290,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "655:7:9",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2293,
"indexed": false,
"name": "outcomeTokenIndex",
"nodeType": "VariableDeclaration",
"scope": 2299,
"src": "678:23:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 2292,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "678:5:9",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2295,
"indexed": false,
"name": "outcomeTokenCount",
"nodeType": "VariableDeclaration",
"scope": 2299,
"src": "703:22:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2294,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "703:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2297,
"indexed": false,
"name": "cost",
"nodeType": "VariableDeclaration",
"scope": 2299,
"src": "727:9:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2296,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "727:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "654:83:9"
},
"src": "627:111:9"
},
{
"constant": false,
"id": 2301,
"name": "creator",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "775:22:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2300,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "775:7:9",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2303,
"name": "createdAtBlock",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "803:26:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2302,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "803:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2305,
"name": "eventContract",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "835:26:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Event_$1680",
"typeString": "contract Event"
},
"typeName": {
"contractScope": null,
"id": 2304,
"name": "Event",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1680,
"src": "835:5:9",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Event_$1680",
"typeString": "contract Event"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2307,
"name": "marketMaker",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "867:30:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MarketMaker_$2251",
"typeString": "contract MarketMaker"
},
"typeName": {
"contractScope": null,
"id": 2306,
"name": "MarketMaker",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2251,
"src": "867:11:9",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MarketMaker_$2251",
"typeString": "contract MarketMaker"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2309,
"name": "fee",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "903:17:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
},
"typeName": {
"id": 2308,
"name": "uint24",
"nodeType": "ElementaryTypeName",
"src": "903:6:9",
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2311,
"name": "funding",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "926:19:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2310,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "926:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2314,
"name": "netOutcomeTokensSold",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "951:33:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_storage",
"typeString": "int256[]"
},
"typeName": {
"baseType": {
"id": 2312,
"name": "int",
"nodeType": "ElementaryTypeName",
"src": "951:3:9",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"id": 2313,
"length": null,
"nodeType": "ArrayTypeName",
"src": "951:5:9",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
"typeString": "int256[]"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2316,
"name": "stage",
"nodeType": "VariableDeclaration",
"scope": 2374,
"src": "990:19:9",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Stages_$2320",
"typeString": "enum Market.Stages"
},
"typeName": {
"contractScope": null,
"id": 2315,
"name": "Stages",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2320,
"src": "990:6:9",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Stages_$2320",
"typeString": "enum Market.Stages"
}
},
"value": null,
"visibility": "public"
},
{
"canonicalName": "Market.Stages",
"id": 2320,
"members": [
{
"id": 2317,
"name": "MarketCreated",
"nodeType": "EnumValue",
"src": "1038:13:9"
},
{
"id": 2318,
"name": "MarketFunded",
"nodeType": "EnumValue",
"src": "1061:12:9"
},
{
"id": 2319,
"name": "MarketClosed",
"nodeType": "EnumValue",
"src": "1083:12:9"
}
],
"name": "Stages",
"nodeType": "EnumDefinition",
"src": "1016:85:9"
},
{
"body": null,
"documentation": null,
"id": 2325,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "fund",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2323,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2322,
"name": "_funding",
"nodeType": "VariableDeclaration",
"scope": 2325,
"src": "1161:13:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2321,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1161:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1160:15:9"
},
"payable": false,
"returnParameters": {
"id": 2324,
"nodeType": "ParameterList",
"parameters": [],
"src": "1182:0:9"
},
"scope": 2374,
"src": "1147:36:9",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": null,
"id": 2328,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "close",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2326,
"nodeType": "ParameterList",
"parameters": [],
"src": "1202:2:9"
},
"payable": false,
"returnParameters": {
"id": 2327,
"nodeType": "ParameterList",
"parameters": [],
"src": "1211:0:9"
},
"scope": 2374,
"src": "1188:24:9",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": null,
"id": 2333,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "withdrawFees",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2329,
"nodeType": "ParameterList",
"parameters": [],
"src": "1238:2:9"
},
"payable": false,
"returnParameters": {
"id": 2332,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2331,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2333,
"src": "1257:4:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2330,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1257:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1256:6:9"
},
"scope": 2374,
"src": "1217:46:9",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": null,
"id": 2344,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "buy",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2340,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2335,
"name": "outcomeTokenIndex",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "1281:23:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 2334,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1281:5:9",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2337,
"name": "outcomeTokenCount",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "1306:22:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2336,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1306:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2339,
"name": "maxCost",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "1330:12:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2338,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1330:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1280:63:9"
},
"payable": false,
"returnParameters": {
"id": 2343,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2342,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "1360:4:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2341,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1360:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1359:6:9"
},
"scope": 2374,
"src": "1268:98:9",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": null,
"id": 2355,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "sell",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2351,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2346,
"name": "outcomeTokenIndex",
"nodeType": "VariableDeclaration",
"scope": 2355,
"src": "1385:23:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 2345,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1385:5:9",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2348,
"name": "outcomeTokenCount",
"nodeType": "VariableDeclaration",
"scope": 2355,
"src": "1410:22:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2347,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1410:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2350,
"name": "minProfit",
"nodeType": "VariableDeclaration",
"scope": 2355,
"src": "1434:14:9",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2349,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1434:4:9",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"va