{
  "contractName": "VotingMachineCallbacks",
  "abi": [
    {
      "inputs": [],
      "name": "avatar",
      "outputs": [
        {
          "internalType": "contract Avatar",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "balanceOfStakingToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "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"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getTotalReputationSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "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"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposalsBlockNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "reputationOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "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"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "voteParamsHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "votingMachine",
      "outputs": [
        {
          "internalType": "contract IntVoteInterface",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506109e8806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80639588378e116100665780639588378e14610132578063b551c3731461015e578063bea75f281461017b578063d29b5d2f146101cb578063f81f8bf6146101fd5761009e565b80633edf7ca1146100a35780634ea2c7ec146100c75780635aef7de6146100e15780636b8eb403146100e95780637a5cb92c14610115575b600080fd5b6100ab61022f565b604080516001600160a01b039092168252519081900360200190f35b6100cf61023e565b60408051918252519081900360200190f35b6100ab610244565b6100cf600480360360408110156100ff57600080fd5b506001600160a01b038135169060200135610253565b6100cf6004803603602081101561012b57600080fd5b503561032d565b6100cf6004803603604081101561014857600080fd5b506001600160a01b03813516906020013561033f565b6100cf6004803603602081101561017457600080fd5b5035610470565b6101b76004803603608081101561019157600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356105cd565b604080519115158252519081900360200190f35b6101b7600480360360608110156101e157600080fd5b508035906001600160a01b036020820135169060400135610731565b6101b76004803603606081101561021357600080fd5b508035906001600160a01b03602082013516906040013561088c565b6034546001600160a01b031681565b60355481565b6033546001600160a01b031681565b60345460009082906001600160a01b031633146102ac576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d602081101561032357600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b03163314610398576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b1580156103e657600080fd5b505afa1580156103fa573d6000803e3d6000fd5b505050506040513d602081101561041057600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b1580156102f957600080fd5b60345460009082906001600160a01b031633146104c9576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d602081101561054157600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d60208110156105c457600080fd5b50519392505050565b60345460009082906001600160a01b03163314610626576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067457600080fd5b505afa158015610688573d6000803e3d6000fd5b505050506040513d602081101561069e57600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b1580156106fb57600080fd5b505af115801561070f573d6000803e3d6000fd5b505050506040513d602081101561072557600080fd5b50519695505050505050565b60345460009082906001600160a01b0316331461078a576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d602081101561080257600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b15801561085757600080fd5b505af115801561086b573d6000803e3d6000fd5b505050506040513d602081101561088157600080fd5b505195945050505050565b60345460009082906001600160a01b031633146108e5576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506040513d602081101561095d57600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b15801561085757600080fdfea2646970667358221220fa9fd2b9429625643dd54e5d65c3b18456827289473878f6f018cdf287ff51f764736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80639588378e116100665780639588378e14610132578063b551c3731461015e578063bea75f281461017b578063d29b5d2f146101cb578063f81f8bf6146101fd5761009e565b80633edf7ca1146100a35780634ea2c7ec146100c75780635aef7de6146100e15780636b8eb403146100e95780637a5cb92c14610115575b600080fd5b6100ab61022f565b604080516001600160a01b039092168252519081900360200190f35b6100cf61023e565b60408051918252519081900360200190f35b6100ab610244565b6100cf600480360360408110156100ff57600080fd5b506001600160a01b038135169060200135610253565b6100cf6004803603602081101561012b57600080fd5b503561032d565b6100cf6004803603604081101561014857600080fd5b506001600160a01b03813516906020013561033f565b6100cf6004803603602081101561017457600080fd5b5035610470565b6101b76004803603608081101561019157600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356105cd565b604080519115158252519081900360200190f35b6101b7600480360360608110156101e157600080fd5b508035906001600160a01b036020820135169060400135610731565b6101b76004803603606081101561021357600080fd5b508035906001600160a01b03602082013516906040013561088c565b6034546001600160a01b031681565b60355481565b6033546001600160a01b031681565b60345460009082906001600160a01b031633146102ac576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d602081101561032357600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b03163314610398576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b1580156103e657600080fd5b505afa1580156103fa573d6000803e3d6000fd5b505050506040513d602081101561041057600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b1580156102f957600080fd5b60345460009082906001600160a01b031633146104c9576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d602081101561054157600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d60208110156105c457600080fd5b50519392505050565b60345460009082906001600160a01b03163314610626576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067457600080fd5b505afa158015610688573d6000803e3d6000fd5b505050506040513d602081101561069e57600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b1580156106fb57600080fd5b505af115801561070f573d6000803e3d6000fd5b505050506040513d602081101561072557600080fd5b50519695505050505050565b60345460009082906001600160a01b0316331461078a576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d602081101561080257600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b15801561085757600080fd5b505af115801561086b573d6000803e3d6000fd5b505050506040513d602081101561088157600080fd5b505195945050505050565b60345460009082906001600160a01b031633146108e5576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506040513d602081101561095d57600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b15801561085757600080fdfea2646970667358221220fa9fd2b9429625643dd54e5d65c3b18456827289473878f6f018cdf287ff51f764736f6c634300060a0033"
}