UNPKG

kleros-interaction-2

Version:
943 lines 39.9 kB
{ "contractName": "ArbitrableProxyUser", "abi": [ { "constant": true, "inputs": [], "name": "arbitrableProxy", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_arbitrableProxy", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "constant": false, "inputs": [ { "name": "_agreementID", "type": "bytes32" }, { "name": "_ruling", "type": "uint256" } ], "name": "executeAgreementRuling", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506040516020806101f5833981016040525160008054600160a060020a03909216600160a060020a03199092169190911790556101a3806100526000396000f30060806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416639fdd0f998114610050578063e615e3131461008e575b600080fd5b34801561005c57600080fd5b506100656100ab565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561009a57600080fd5b506100a96004356024356100c7565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461017357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5468652063616c6c6572206d757374206265207468652061726269747261626c60448201527f652070726f78792e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50505600a165627a7a723058207c75b260c855f074c19b0f02fb9d24b94ffef88e904a10a705835d12e576a04c0029", "deployedBytecode": "0x60806040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416639fdd0f998114610050578063e615e3131461008e575b600080fd5b34801561005c57600080fd5b506100656100ab565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561009a57600080fd5b506100a96004356024356100c7565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461017357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5468652063616c6c6572206d757374206265207468652061726269747261626c60448201527f652070726f78792e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50505600a165627a7a723058207c75b260c855f074c19b0f02fb9d24b94ffef88e904a10a705835d12e576a04c0029", "sourceMap": "227:729:41:-;;;478:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;478:104:41;;;;;;;;;;;;;541:15;:34;;-1:-1:-1;;;;;541:34:41;;;-1:-1:-1;;;;;;541:34:41;;;;;;;;;227:729;;;;;;", "deployedSourceMap": "227:729:41:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:38:41;;;;;;;;;;;;;;;;;;;;;;;763:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;763:191:41;;;;;;;;;281:38;;;;;;:::o;763:191::-;887:15;;;;872:10;856:46;848:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;763:191;;:::o", "source": "pragma solidity ^0.4.24;\n\nimport \"./ArbitrableProxy.sol\";\n\n/**\n * @title ArbitrableProxyUser\n * @author Enrique Piqueras - <epiquerass@gmail.com>\n * @dev Base contract for contracts that use a composed arbitrable proxy.\n */\ncontract ArbitrableProxyUser {\n /* Storage */\n\n ArbitrableProxy public arbitrableProxy;\n\n /* Constructor */\n\n /** @dev Constructs the `ArbitrableProxyUser` contract.\n * @param _arbitrableProxy The arbitrable proxy to use.\n */\n constructor(ArbitrableProxy _arbitrableProxy) public {\n arbitrableProxy = _arbitrableProxy;\n }\n\n /* Public */\n\n /** @dev Executes the ruling on the specified agreement.\n * @param _agreementID The ID of the agreement.\n * @param _ruling The ruling.\n */\n function executeAgreementRuling(bytes32 _agreementID, uint _ruling) public {\n require(ArbitrableProxy(msg.sender) == arbitrableProxy, \"The caller must be the arbitrable proxy.\");\n }\n}\n", "sourcePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/composed-arbitrable/proxy/ArbitrableProxyUser.sol", "ast": { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/composed-arbitrable/proxy/ArbitrableProxyUser.sol", "exportedSymbols": { "ArbitrableProxyUser": [ 13208 ] }, "id": 13209, "nodeType": "SourceUnit", "nodes": [ { "id": 13176, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:41" }, { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/composed-arbitrable/proxy/ArbitrableProxy.sol", "file": "./ArbitrableProxy.sol", "id": 13177, "nodeType": "ImportDirective", "scope": 13209, "sourceUnit": 13175, "src": "26:31:41", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": " @title ArbitrableProxyUser\n @author Enrique Piqueras - <epiquerass@gmail.com>\n @dev Base contract for contracts that use a composed arbitrable proxy.", "fullyImplemented": true, "id": 13208, "linearizedBaseContracts": [ 13208 ], "name": "ArbitrableProxyUser", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 13179, "name": "arbitrableProxy", "nodeType": "VariableDeclaration", "scope": 13208, "src": "281:38:41", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" }, "typeName": { "contractScope": null, "id": 13178, "name": "ArbitrableProxy", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 13174, "src": "281:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "value": null, "visibility": "public" }, { "body": { "id": 13188, "nodeType": "Block", "src": "531:51:41", "statements": [ { "expression": { "argumentTypes": null, "id": 13186, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 13184, "name": "arbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13179, "src": "541:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 13185, "name": "_arbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13181, "src": "559:16:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "src": "541:34:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "id": 13187, "nodeType": "ExpressionStatement", "src": "541:34:41" } ] }, "documentation": "@dev Constructs the `ArbitrableProxyUser` contract.\n @param _arbitrableProxy The arbitrable proxy to use.", "id": 13189, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 13182, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13181, "name": "_arbitrableProxy", "nodeType": "VariableDeclaration", "scope": 13189, "src": "490:32:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" }, "typeName": { "contractScope": null, "id": 13180, "name": "ArbitrableProxy", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 13174, "src": "490:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "value": null, "visibility": "internal" } ], "src": "489:34:41" }, "payable": false, "returnParameters": { "id": 13183, "nodeType": "ParameterList", "parameters": [], "src": "531:0:41" }, "scope": 13208, "src": "478:104:41", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 13206, "nodeType": "Block", "src": "838:116:41", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" }, "id": 13202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 13198, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20639, "src": "872:3:41", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 13199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "872:10:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 13197, "name": "ArbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13174, "src": "856:15:41", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ArbitrableProxy_$13174_$", "typeString": "type(contract ArbitrableProxy)" } }, "id": 13200, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "856:27:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 13201, "name": "arbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13179, "src": "887:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "src": "856:46:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "5468652063616c6c6572206d757374206265207468652061726269747261626c652070726f78792e", "id": 13203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "904:42:41", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4b6c1bee46261aad8ea63f2d8b59489ca8a8681f5d420cc1921b231073e45b1", "typeString": "literal_string \"The caller must be the arbitrable proxy.\"" }, "value": "The caller must be the arbitrable proxy." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_b4b6c1bee46261aad8ea63f2d8b59489ca8a8681f5d420cc1921b231073e45b1", "typeString": "literal_string \"The caller must be the arbitrable proxy.\"" } ], "id": 13196, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 20642, 20643 ], "referencedDeclaration": 20643, "src": "848:7:41", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 13204, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "848:99:41", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 13205, "nodeType": "ExpressionStatement", "src": "848:99:41" } ] }, "documentation": "@dev Executes the ruling on the specified agreement.\n @param _agreementID The ID of the agreement.\n @param _ruling The ruling.", "id": 13207, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "executeAgreementRuling", "nodeType": "FunctionDefinition", "parameters": { "id": 13194, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13191, "name": "_agreementID", "nodeType": "VariableDeclaration", "scope": 13207, "src": "795:20:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 13190, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "795:7:41", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 13193, "name": "_ruling", "nodeType": "VariableDeclaration", "scope": 13207, "src": "817:12:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 13192, "name": "uint", "nodeType": "ElementaryTypeName", "src": "817:4:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "794:36:41" }, "payable": false, "returnParameters": { "id": 13195, "nodeType": "ParameterList", "parameters": [], "src": "838:0:41" }, "scope": 13208, "src": "763:191:41", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 13209, "src": "227:729:41" } ], "src": "0:957:41" }, "legacyAST": { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/composed-arbitrable/proxy/ArbitrableProxyUser.sol", "exportedSymbols": { "ArbitrableProxyUser": [ 13208 ] }, "id": 13209, "nodeType": "SourceUnit", "nodes": [ { "id": 13176, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:41" }, { "absolutePath": "/private/tmp/kleros-interaction/contracts/standard/arbitration/composed-arbitrable/proxy/ArbitrableProxy.sol", "file": "./ArbitrableProxy.sol", "id": 13177, "nodeType": "ImportDirective", "scope": 13209, "sourceUnit": 13175, "src": "26:31:41", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": " @title ArbitrableProxyUser\n @author Enrique Piqueras - <epiquerass@gmail.com>\n @dev Base contract for contracts that use a composed arbitrable proxy.", "fullyImplemented": true, "id": 13208, "linearizedBaseContracts": [ 13208 ], "name": "ArbitrableProxyUser", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 13179, "name": "arbitrableProxy", "nodeType": "VariableDeclaration", "scope": 13208, "src": "281:38:41", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" }, "typeName": { "contractScope": null, "id": 13178, "name": "ArbitrableProxy", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 13174, "src": "281:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "value": null, "visibility": "public" }, { "body": { "id": 13188, "nodeType": "Block", "src": "531:51:41", "statements": [ { "expression": { "argumentTypes": null, "id": 13186, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 13184, "name": "arbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13179, "src": "541:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 13185, "name": "_arbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13181, "src": "559:16:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "src": "541:34:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "id": 13187, "nodeType": "ExpressionStatement", "src": "541:34:41" } ] }, "documentation": "@dev Constructs the `ArbitrableProxyUser` contract.\n @param _arbitrableProxy The arbitrable proxy to use.", "id": 13189, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 13182, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13181, "name": "_arbitrableProxy", "nodeType": "VariableDeclaration", "scope": 13189, "src": "490:32:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" }, "typeName": { "contractScope": null, "id": 13180, "name": "ArbitrableProxy", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 13174, "src": "490:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "value": null, "visibility": "internal" } ], "src": "489:34:41" }, "payable": false, "returnParameters": { "id": 13183, "nodeType": "ParameterList", "parameters": [], "src": "531:0:41" }, "scope": 13208, "src": "478:104:41", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 13206, "nodeType": "Block", "src": "838:116:41", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" }, "id": 13202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 13198, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20639, "src": "872:3:41", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 13199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "872:10:41", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 13197, "name": "ArbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13174, "src": "856:15:41", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ArbitrableProxy_$13174_$", "typeString": "type(contract ArbitrableProxy)" } }, "id": 13200, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "856:27:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 13201, "name": "arbitrableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13179, "src": "887:15:41", "typeDescriptions": { "typeIdentifier": "t_contract$_ArbitrableProxy_$13174", "typeString": "contract ArbitrableProxy" } }, "src": "856:46:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "5468652063616c6c6572206d757374206265207468652061726269747261626c652070726f78792e", "id": 13203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "904:42:41", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4b6c1bee46261aad8ea63f2d8b59489ca8a8681f5d420cc1921b231073e45b1", "typeString": "literal_string \"The caller must be the arbitrable proxy.\"" }, "value": "The caller must be the arbitrable proxy." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_b4b6c1bee46261aad8ea63f2d8b59489ca8a8681f5d420cc1921b231073e45b1", "typeString": "literal_string \"The caller must be the arbitrable proxy.\"" } ], "id": 13196, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 20642, 20643 ], "referencedDeclaration": 20643, "src": "848:7:41", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 13204, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "848:99:41", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 13205, "nodeType": "ExpressionStatement", "src": "848:99:41" } ] }, "documentation": "@dev Executes the ruling on the specified agreement.\n @param _agreementID The ID of the agreement.\n @param _ruling The ruling.", "id": 13207, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "executeAgreementRuling", "nodeType": "FunctionDefinition", "parameters": { "id": 13194, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13191, "name": "_agreementID", "nodeType": "VariableDeclaration", "scope": 13207, "src": "795:20:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 13190, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "795:7:41", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 13193, "name": "_ruling", "nodeType": "VariableDeclaration", "scope": 13207, "src": "817:12:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 13192, "name": "uint", "nodeType": "ElementaryTypeName", "src": "817:4:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "794:36:41" }, "payable": false, "returnParameters": { "id": 13195, "nodeType": "ParameterList", "parameters": [], "src": "838:0:41" }, "scope": 13208, "src": "763:191:41", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 13209, "src": "227:729:41" } ], "src": "0:957:41" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.1", "updatedAt": "2018-11-02T14:04:11.042Z" }