UNPKG

@josojo/realitytoken-contracts

Version:
1,579 lines 109 kB
{ "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