@gooddollar/goodcontracts
Version:
GoodDollar Contracts
1,373 lines • 63.1 kB
JSON
{
"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