UNPKG

@gooddollar/goodcontracts

Version:
1,373 lines 63.1 kB
{ "contractName": "VotingMachineCallbacksInterface", "abi": [ { "constant": false, "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "mintReputation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "burnReputation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "stakingTokenTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "getTotalReputationSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "reputationOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "balanceOfStakingToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"_stakingToken\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"balanceOfStakingToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"burnReputation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"getTotalReputationSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"mintReputation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"reputationOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"_stakingToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_proposalId\",\"type\":\"bytes32\"}],\"name\":\"stakingTokenTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol\":\"VotingMachineCallbacksInterface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol\":{\"keccak256\":\"0xec215d305f0aa5a5193b6f0302a1aa6bb84e85460167f80b261faf9d30564563\",\"urls\":[\"bzz-raw://8edb25b20c86a28b5c7c7c3a918f219106a1d3047933984dd76e33e30911857d\",\"dweb:/ipfs/Qme1iBcLjPPrC6jMF56cSE9pmEdCQ23aT43wQbnqKjXEYe\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzz-raw://ee762ff5b7746e41d27dcbcea00c7a3034b58adb1b45ddadddb5b721aff450df\",\"dweb:/ipfs/QmdxqtgEFZjHCoiYyz6pUAQ5iBm7As25jcyEbZoTaAgyDa\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.5.4;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\";\n\ninterface VotingMachineCallbacksInterface {\n function mintReputation(uint256 _amount, address _beneficiary, bytes32 _proposalId) external returns(bool);\n function burnReputation(uint256 _amount, address _owner, bytes32 _proposalId) external returns(bool);\n\n function stakingTokenTransfer(IERC20 _stakingToken, address _beneficiary, uint256 _amount, bytes32 _proposalId)\n external\n returns(bool);\n\n function getTotalReputationSupply(bytes32 _proposalId) external view returns(uint256);\n function reputationOf(address _owner, bytes32 _proposalId) external view returns(uint256);\n function balanceOfStakingToken(IERC20 _stakingToken, bytes32 _proposalId) external view returns(uint256);\n}\n", "sourcePath": "@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol", "ast": { "absolutePath": "@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol", "exportedSymbols": { "VotingMachineCallbacksInterface": [ 20647 ] }, "id": 20648, "nodeType": "SourceUnit", "nodes": [ { "id": 20585, "literals": [ "solidity", "^", "0.5", ".4" ], "nodeType": "PragmaDirective", "src": "0:23:69" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 20586, "nodeType": "ImportDirective", "scope": 20648, "sourceUnit": 22138, "src": "25:64:69", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": null, "fullyImplemented": false, "id": 20647, "linearizedBaseContracts": [ 20647 ], "name": "VotingMachineCallbacksInterface", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "id": 20597, "implemented": false, "kind": "function", "modifiers": [], "name": "mintReputation", "nodeType": "FunctionDefinition", "parameters": { "id": 20593, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20588, "name": "_amount", "nodeType": "VariableDeclaration", "scope": 20597, "src": "163:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20587, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "163:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20590, "name": "_beneficiary", "nodeType": "VariableDeclaration", "scope": 20597, "src": "180:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20589, "name": "address", "nodeType": "ElementaryTypeName", "src": "180:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20592, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20597, "src": "202:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20591, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "202:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "162:60:69" }, "returnParameters": { "id": 20596, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20595, "name": "", "nodeType": "VariableDeclaration", "scope": 20597, "src": "240:4:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20594, "name": "bool", "nodeType": "ElementaryTypeName", "src": "240:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "239:6:69" }, "scope": 20647, "src": "139:107:69", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20608, "implemented": false, "kind": "function", "modifiers": [], "name": "burnReputation", "nodeType": "FunctionDefinition", "parameters": { "id": 20604, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20599, "name": "_amount", "nodeType": "VariableDeclaration", "scope": 20608, "src": "275:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20598, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "275:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20601, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 20608, "src": "292:14:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20600, "name": "address", "nodeType": "ElementaryTypeName", "src": "292:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20603, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20608, "src": "308:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20602, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "308:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "274:54:69" }, "returnParameters": { "id": 20607, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20606, "name": "", "nodeType": "VariableDeclaration", "scope": 20608, "src": "346:4:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20605, "name": "bool", "nodeType": "ElementaryTypeName", "src": "346:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "345:6:69" }, "scope": 20647, "src": "251:101:69", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20621, "implemented": false, "kind": "function", "modifiers": [], "name": "stakingTokenTransfer", "nodeType": "FunctionDefinition", "parameters": { "id": 20617, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20610, "name": "_stakingToken", "nodeType": "VariableDeclaration", "scope": 20621, "src": "388:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$22137", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, "id": 20609, "name": "IERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22137, "src": "388:6:69", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$22137", "typeString": "contract IERC20" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20612, "name": "_beneficiary", "nodeType": "VariableDeclaration", "scope": 20621, "src": "410:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20611, "name": "address", "nodeType": "ElementaryTypeName", "src": "410:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20614, "name": "_amount", "nodeType": "VariableDeclaration", "scope": 20621, "src": "432:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20613, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "432:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20616, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20621, "src": "449:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20615, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "449:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "387:82:69" }, "returnParameters": { "id": 20620, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20619, "name": "", "nodeType": "VariableDeclaration", "scope": 20621, "src": "495:4:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20618, "name": "bool", "nodeType": "ElementaryTypeName", "src": "495:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "494:6:69" }, "scope": 20647, "src": "358:143:69", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20628, "implemented": false, "kind": "function", "modifiers": [], "name": "getTotalReputationSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 20624, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20623, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20628, "src": "541:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20622, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "541:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "540:21:69" }, "returnParameters": { "id": 20627, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20626, "name": "", "nodeType": "VariableDeclaration", "scope": 20628, "src": "584:7:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20625, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "584:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "583:9:69" }, "scope": 20647, "src": "507:86:69", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20637, "implemented": false, "kind": "function", "modifiers": [], "name": "reputationOf", "nodeType": "FunctionDefinition", "parameters": { "id": 20633, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20630, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 20637, "src": "620:14:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20629, "name": "address", "nodeType": "ElementaryTypeName", "src": "620:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20632, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20637, "src": "636:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20631, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "636:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "619:37:69" }, "returnParameters": { "id": 20636, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20635, "name": "", "nodeType": "VariableDeclaration", "scope": 20637, "src": "679:7:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20634, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "679:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "678:9:69" }, "scope": 20647, "src": "598:90:69", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20646, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOfStakingToken", "nodeType": "FunctionDefinition", "parameters": { "id": 20642, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20639, "name": "_stakingToken", "nodeType": "VariableDeclaration", "scope": 20646, "src": "724:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$22137", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, "id": 20638, "name": "IERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22137, "src": "724:6:69", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$22137", "typeString": "contract IERC20" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20641, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20646, "src": "746:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20640, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "746:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "723:43:69" }, "returnParameters": { "id": 20645, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20644, "name": "", "nodeType": "VariableDeclaration", "scope": 20646, "src": "789:7:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20643, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "789:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "788:9:69" }, "scope": 20647, "src": "693:105:69", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], "scope": 20648, "src": "91:709:69" } ], "src": "0:801:69" }, "legacyAST": { "absolutePath": "@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol", "exportedSymbols": { "VotingMachineCallbacksInterface": [ 20647 ] }, "id": 20648, "nodeType": "SourceUnit", "nodes": [ { "id": 20585, "literals": [ "solidity", "^", "0.5", ".4" ], "nodeType": "PragmaDirective", "src": "0:23:69" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 20586, "nodeType": "ImportDirective", "scope": 20648, "sourceUnit": 22138, "src": "25:64:69", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": null, "fullyImplemented": false, "id": 20647, "linearizedBaseContracts": [ 20647 ], "name": "VotingMachineCallbacksInterface", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "id": 20597, "implemented": false, "kind": "function", "modifiers": [], "name": "mintReputation", "nodeType": "FunctionDefinition", "parameters": { "id": 20593, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20588, "name": "_amount", "nodeType": "VariableDeclaration", "scope": 20597, "src": "163:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20587, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "163:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20590, "name": "_beneficiary", "nodeType": "VariableDeclaration", "scope": 20597, "src": "180:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20589, "name": "address", "nodeType": "ElementaryTypeName", "src": "180:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20592, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20597, "src": "202:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20591, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "202:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "162:60:69" }, "returnParameters": { "id": 20596, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20595, "name": "", "nodeType": "VariableDeclaration", "scope": 20597, "src": "240:4:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20594, "name": "bool", "nodeType": "ElementaryTypeName", "src": "240:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "239:6:69" }, "scope": 20647, "src": "139:107:69", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20608, "implemented": false, "kind": "function", "modifiers": [], "name": "burnReputation", "nodeType": "FunctionDefinition", "parameters": { "id": 20604, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20599, "name": "_amount", "nodeType": "VariableDeclaration", "scope": 20608, "src": "275:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20598, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "275:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20601, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 20608, "src": "292:14:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20600, "name": "address", "nodeType": "ElementaryTypeName", "src": "292:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20603, "name": "_proposalId", "nodeType": "VariableDeclaration", "scope": 20608, "src": "308:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 20602, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "308:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "274:54:69" }, "returnParameters": { "id": 20607, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20606, "name": "", "nodeType": "VariableDeclaration", "scope": 20608, "src": "346:4:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20605, "name": "bool", "nodeType": "ElementaryTypeName", "src": "346:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "345:6:69" }, "scope": 20647, "src": "251:101:69", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, "id": 20621, "implemented": false, "kind": "function", "modifiers": [], "name": "stakingTokenTransfer", "nodeType": "FunctionDefinition", "parameters": { "id": 20617, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20610, "name": "_stakingToken", "nodeType": "VariableDeclaration", "scope": 20621, "src": "388:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$22137", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, "id": 20609, "name": "IERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22137, "src": "388:6:69", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$22137", "typeString": "contract IERC20" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20612, "name": "_beneficiary", "nodeType": "VariableDeclaration", "scope": 20621, "src": "410:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20611, "name": "address", "nodeType": "ElementaryTypeName", "src": "410:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20614, "name": "_amount", "nodeType": "VariableDeclaration", "scope": 20621, "src": "432:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20613, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "432:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20616, "name": "_proposalId