{
  "_format": "hh-sol-artifact-1",
  "contractName": "VotingMachineCallbacks",
  "sourceName": "contracts/votingMachines/VotingMachineCallbacks.sol",
  "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": "_beneficiary",
          "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": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposalsInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "internalType": "contract Avatar",
          "name": "avatar",
          "type": "address"
        }
      ],
      "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": 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"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610cf6806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b551c3731161005b578063b551c37314610139578063bea75f2814610156578063d29b5d2f146101a6578063f81f8bf6146101d85761007d565b806360bdbb3f146100825780636b8eb403146100cf5780639588378e1461010d575b600080fd5b6100ae6004803603604081101561009857600080fd5b506001600160a01b03813516906020013561020a565b604080519283526001600160a01b0390911660208301528051918290030190f35b6100fb600480360360408110156100e557600080fd5b506001600160a01b038135169060200135610234565b60408051918252519081900360200190f35b6100fb6004803603604081101561012357600080fd5b506001600160a01b0381351690602001356102f4565b6100fb6004803603602081101561014f57600080fd5b5035610586565b6101926004803603608081101561016c57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060013561080e565b604080519115158252519081900360200190f35b610192600480360360608110156101bc57600080fd5b508035906001600160a01b0360208201351690604001356109b0565b610192600480360360608110156101ee57600080fd5b508035906001600160a01b036020820135169060400135610b49565b6000602081815292815260408082209093529081522080546001909101546001600160a01b031682565b336000908152602081815260408083208484529091528120600101546001600160a01b0316806102685760009150506102ee565b836001600160a01b03166370a08231826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156102be57600080fd5b505afa1580156102d2573d6000803e3d6000fd5b505050506040513d60208110156102e857600080fd5b50519150505b92915050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b15801561034e57600080fd5b505afa158015610362573d6000803e3d6000fd5b505050506040513d602081101561037857600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b1580156103ca57600080fd5b505afa1580156103de573d6000803e3d6000fd5b505050506040513d60208110156103f457600080fd5b5051610442576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b61044a610caa565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b031690820181905261049157600093505061057e565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ce57600080fd5b505afa1580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b505181516040805163277166bf60e11b81526001600160a01b038a81166004830152602482019390935290519190921691634ee2cd7e916044808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d602081101561057857600080fd5b50519350505b505092915050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d602081101561060a57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b50516106d4576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b6106dc610caa565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610723576000935050610807565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561076057600080fd5b505afa158015610774573d6000803e3d6000fd5b505050506040513d602081101561078a57600080fd5b5051815160408051630981b24d60e41b81526004810192909252516001600160a01b039092169163981b24d091602480820192602092909190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b50519350505b5050919050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661087b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b0316806108af5760009250506109a7565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b50516040805163b9a04cdd60e01b81526001600160a01b038a8116600483015289811660248301526044820189905284811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561097757600080fd5b505af115801561098b573d6000803e3d6000fd5b505050506040513d60208110156109a157600080fd5b50519250505b50949350505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b0316610a1d576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b031680610a51576000925050610b41565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d6020811015610ab457600080fd5b50516040805163757cca5960e11b8152600481018990526001600160a01b03888116602483015284811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b158015610b1157600080fd5b505af1158015610b25573d6000803e3d6000fd5b505050506040513d6020811015610b3b57600080fd5b50519250505b509392505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b0316610bb6576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b031680610bea576000925050610b41565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2357600080fd5b505afa158015610c37573d6000803e3d6000fd5b505050506040513d6020811015610c4d57600080fd5b505160408051630dd29a4f60e31b8152600481018990526001600160a01b038881166024830152848116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b158015610b1157600080fd5b60408051808201909152600080825260208201529056fea265627a7a72315820055e0f454e96092fe3017822a5f03b460b88c29fd1f55d2721cf11923db9e56b64736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b551c3731161005b578063b551c37314610139578063bea75f2814610156578063d29b5d2f146101a6578063f81f8bf6146101d85761007d565b806360bdbb3f146100825780636b8eb403146100cf5780639588378e1461010d575b600080fd5b6100ae6004803603604081101561009857600080fd5b506001600160a01b03813516906020013561020a565b604080519283526001600160a01b0390911660208301528051918290030190f35b6100fb600480360360408110156100e557600080fd5b506001600160a01b038135169060200135610234565b60408051918252519081900360200190f35b6100fb6004803603604081101561012357600080fd5b506001600160a01b0381351690602001356102f4565b6100fb6004803603602081101561014f57600080fd5b5035610586565b6101926004803603608081101561016c57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060013561080e565b604080519115158252519081900360200190f35b610192600480360360608110156101bc57600080fd5b508035906001600160a01b0360208201351690604001356109b0565b610192600480360360608110156101ee57600080fd5b508035906001600160a01b036020820135169060400135610b49565b6000602081815292815260408082209093529081522080546001909101546001600160a01b031682565b336000908152602081815260408083208484529091528120600101546001600160a01b0316806102685760009150506102ee565b836001600160a01b03166370a08231826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156102be57600080fd5b505afa1580156102d2573d6000803e3d6000fd5b505050506040513d60208110156102e857600080fd5b50519150505b92915050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b15801561034e57600080fd5b505afa158015610362573d6000803e3d6000fd5b505050506040513d602081101561037857600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b1580156103ca57600080fd5b505afa1580156103de573d6000803e3d6000fd5b505050506040513d60208110156103f457600080fd5b5051610442576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b61044a610caa565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b031690820181905261049157600093505061057e565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ce57600080fd5b505afa1580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b505181516040805163277166bf60e11b81526001600160a01b038a81166004830152602482019390935290519190921691634ee2cd7e916044808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d602081101561057857600080fd5b50519350505b505092915050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d602081101561060a57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b50516106d4576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b6106dc610caa565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610723576000935050610807565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561076057600080fd5b505afa158015610774573d6000803e3d6000fd5b505050506040513d602081101561078a57600080fd5b5051815160408051630981b24d60e41b81526004810192909252516001600160a01b039092169163981b24d091602480820192602092909190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b50519350505b5050919050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661087b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b0316806108af5760009250506109a7565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b50516040805163b9a04cdd60e01b81526001600160a01b038a8116600483015289811660248301526044820189905284811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561097757600080fd5b505af115801561098b573d6000803e3d6000fd5b505050506040513d60208110156109a157600080fd5b50519250505b50949350505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b0316610a1d576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b031680610a51576000925050610b41565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d6020811015610ab457600080fd5b50516040805163757cca5960e11b8152600481018990526001600160a01b03888116602483015284811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b158015610b1157600080fd5b505af1158015610b25573d6000803e3d6000fd5b505050506040513d6020811015610b3b57600080fd5b50519250505b509392505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b0316610bb6576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b031680610bea576000925050610b41565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2357600080fd5b505afa158015610c37573d6000803e3d6000fd5b505050506040513d6020811015610c4d57600080fd5b505160408051630dd29a4f60e31b8152600481018990526001600160a01b038881166024830152848116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b158015610b1157600080fd5b60408051808201909152600080825260208201529056fea265627a7a72315820055e0f454e96092fe3017822a5f03b460b88c29fd1f55d2721cf11923db9e56b64736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}