{
  "contractName": "Locking4Reputation",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_locker",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_lockingId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_period",
          "type": "uint256"
        }
      ],
      "name": "Lock",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Redeem",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_lockingId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Release",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "avatar",
      "outputs": [
        {
          "internalType": "contract Avatar",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAgreementHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "lockers",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "releaseTime",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lockingEndTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lockingStartTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lockingsCounter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "maxLockingPeriod",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "reputation",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "redeemEnableTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "reputationReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "reputationRewardLeft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "scores",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalLocked",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalLockedLeft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": "0x608060405234801561001057600080fd5b506107b1806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806383805742116100a2578063bf0df44511610071578063bf0df44514610217578063c006719f1461021f578063c3201add14610227578063c348a24b1461022f578063ed1ff6d8146102375761010b565b8063838057421461019c57806395a2251f146101e1578063a8c3301714610207578063afe0e33c1461020f5761010b565b806356891412116100de578063568914121461015e5780635aef7de614610166578063696da9211461016e57806376dd110f146101765761010b565b80633d1678f4146101105780633edf7ca11461012a5780634ea2c7ec1461014e57806355bfec8814610156575b600080fd5b61011861023f565b60408051918252519081900360200190f35b610132610245565b604080516001600160a01b039092168252519081900360200190f35b610118610254565b61011861025a565b610118610260565b610132610266565b610118610275565b6101186004803603602081101561018c57600080fd5b50356001600160a01b031661027b565b6101c8600480360360408110156101b257600080fd5b506001600160a01b03813516906020013561028d565b6040805192835260208301919091528051918290030190f35b610118600480360360208110156101f757600080fd5b50356001600160a01b03166102b1565b61011861054e565b610118610554565b61011861055a565b610118610560565b610118610566565b61011861056c565b610118610572565b60425481565b6035546001600160a01b031681565b60365481565b60415481565b60395481565b6034546001600160a01b031681565b60005490565b60386020526000908152604090205481565b60376020908152600092835260408084209091529082529020805460019091015482565b60006042544211610302576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b038216600090815260386020526040902054610362576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b0382166000908152603860205260408120805490829055603d5490919061039790839063ffffffff61057816565b90506103ae603b54826105da90919063ffffffff16565b603e549093506103c4908463ffffffff61061c16565b603e5560345460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b15801561040c57600080fd5b505afa158015610420573d6000803e3d6000fd5b505050506040513d602081101561043657600080fd5b50516040805163dea9e24d60e01b8152600481018690526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b15801561048b57600080fd5b505af115801561049f573d6000803e3d6000fd5b505050506040513d60208110156104b557600080fd5b5051610508576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b603f5481565b603e5481565b60405481565b603b5481565b603c5481565b603a5481565b603d5481565b600082610587575060006105d4565b8282028284828161059457fe5b04146105d15760405162461bcd60e51b815260040180806020018281038252602181526020018061075b6021913960400191505060405180910390fd5b90505b92915050565b60006105d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061065e565b60006105d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610700565b600081836106ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106af578181015183820152602001610697565b50505050905090810190601f1680156106dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816106f657fe5b0495945050505050565b600081848411156107525760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156106af578181015183820152602001610697565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122035b03e242ebf44e0ceaea7adb140f693739ac20af5da544f41c4ddc4034c3b0864736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806383805742116100a2578063bf0df44511610071578063bf0df44514610217578063c006719f1461021f578063c3201add14610227578063c348a24b1461022f578063ed1ff6d8146102375761010b565b8063838057421461019c57806395a2251f146101e1578063a8c3301714610207578063afe0e33c1461020f5761010b565b806356891412116100de578063568914121461015e5780635aef7de614610166578063696da9211461016e57806376dd110f146101765761010b565b80633d1678f4146101105780633edf7ca11461012a5780634ea2c7ec1461014e57806355bfec8814610156575b600080fd5b61011861023f565b60408051918252519081900360200190f35b610132610245565b604080516001600160a01b039092168252519081900360200190f35b610118610254565b61011861025a565b610118610260565b610132610266565b610118610275565b6101186004803603602081101561018c57600080fd5b50356001600160a01b031661027b565b6101c8600480360360408110156101b257600080fd5b506001600160a01b03813516906020013561028d565b6040805192835260208301919091528051918290030190f35b610118600480360360208110156101f757600080fd5b50356001600160a01b03166102b1565b61011861054e565b610118610554565b61011861055a565b610118610560565b610118610566565b61011861056c565b610118610572565b60425481565b6035546001600160a01b031681565b60365481565b60415481565b60395481565b6034546001600160a01b031681565b60005490565b60386020526000908152604090205481565b60376020908152600092835260408084209091529082529020805460019091015482565b60006042544211610302576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b038216600090815260386020526040902054610362576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b0382166000908152603860205260408120805490829055603d5490919061039790839063ffffffff61057816565b90506103ae603b54826105da90919063ffffffff16565b603e549093506103c4908463ffffffff61061c16565b603e5560345460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b15801561040c57600080fd5b505afa158015610420573d6000803e3d6000fd5b505050506040513d602081101561043657600080fd5b50516040805163dea9e24d60e01b8152600481018690526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b15801561048b57600080fd5b505af115801561049f573d6000803e3d6000fd5b505050506040513d60208110156104b557600080fd5b5051610508576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b603f5481565b603e5481565b60405481565b603b5481565b603c5481565b603a5481565b603d5481565b600082610587575060006105d4565b8282028284828161059457fe5b04146105d15760405162461bcd60e51b815260040180806020018281038252602181526020018061075b6021913960400191505060405180910390fd5b90505b92915050565b60006105d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061065e565b60006105d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610700565b600081836106ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106af578181015183820152602001610697565b50505050905090810190601f1680156106dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816106f657fe5b0495945050505050565b600081848411156107525760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156106af578181015183820152602001610697565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122035b03e242ebf44e0ceaea7adb140f693739ac20af5da544f41c4ddc4034c3b0864736f6c634300060a0033"
}