@josojo/tokenized-events
Version:
tokenized events for pm markets
1,448 lines (1,447 loc) • 65.9 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"
}
],
"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"
}