{
  "_format": "hh-sol-artifact-1",
  "contractName": "Locking4Reputation",
  "sourceName": "contracts/schemes/Locking4Reputation.sol",
  "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"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "avatar",
      "outputs": [
        {
          "internalType": "contract Avatar",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getAgreementHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "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"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockingEndTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockingStartTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockingsCounter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "maxLockingPeriod",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "reputation",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "redeemEnableTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "reputationReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "reputationRewardLeft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "scores",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalLocked",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalLockedLeft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610780806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806395a2251f11610097578063c006719f11610066578063c006719f146101f9578063c3201add14610201578063c348a24b14610209578063ed1ff6d814610211576100f5565b806395a2251f146101bb578063a8c33017146101e1578063afe0e33c146101e9578063bf0df445146101f1576100f5565b80635aef7de6116100d35780635aef7de614610124578063696da9211461014857806376dd110f146101505780638380574214610176576100f5565b80633d1678f4146100fa57806355bfec8814610114578063568914121461011c575b600080fd5b610102610219565b60408051918252519081900360200190f35b61010261021f565b610102610225565b61012c61022b565b604080516001600160a01b039092168252519081900360200190f35b61010261023a565b6101026004803603602081101561016657600080fd5b50356001600160a01b0316610240565b6101a26004803603604081101561018c57600080fd5b506001600160a01b038135169060200135610252565b6040805192835260208301919091528051918290030190f35b610102600480360360208110156101d157600080fd5b50356001600160a01b0316610276565b61010261051e565b610102610524565b61010261052a565b610102610530565b610102610536565b61010261053c565b610102610542565b600d5481565b600c5481565b60045481565b6001546001600160a01b031681565b60005490565b60036020526000908152604090205481565b60026020908152600092835260408084209091529082529020805460019091015482565b6000600d5442116102c7576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040902054610327576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040812080549082905560085490919061035c90839063ffffffff61054816565b9050610373600654826105aa90919063ffffffff16565b600954909350610389908463ffffffff6105ec16565b60095560015460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b1580156103d157600080fd5b505afa1580156103e5573d6000803e3d6000fd5b505050506040513d60208110156103fb57600080fd5b50516001546040805163757cca5960e11b8152600481018790526001600160a01b03888116602483015292831660448201529051919092169163eaf994b29160648083019260209291908290030181600087803b15801561045b57600080fd5b505af115801561046f573d6000803e3d6000fd5b505050506040513d602081101561048557600080fd5b50516104d8576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b600a5481565b60095481565b600b5481565b60065481565b60075481565b60055481565b60085481565b600082610557575060006105a4565b8282028284828161056457fe5b04146105a15760405162461bcd60e51b815260040180806020018281038252602181526020018061072b6021913960400191505060405180910390fd5b90505b92915050565b60006105a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061062e565b60006105a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106d0565b600081836106ba5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561067f578181015183820152602001610667565b50505050905090810190601f1680156106ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816106c657fe5b0495945050505050565b600081848411156107225760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561067f578181015183820152602001610667565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820504a5c1e13cf6168af5a18bfd6b4fea83ec9c5e8e2f7c7afecafdcfd07d8a96064736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806395a2251f11610097578063c006719f11610066578063c006719f146101f9578063c3201add14610201578063c348a24b14610209578063ed1ff6d814610211576100f5565b806395a2251f146101bb578063a8c33017146101e1578063afe0e33c146101e9578063bf0df445146101f1576100f5565b80635aef7de6116100d35780635aef7de614610124578063696da9211461014857806376dd110f146101505780638380574214610176576100f5565b80633d1678f4146100fa57806355bfec8814610114578063568914121461011c575b600080fd5b610102610219565b60408051918252519081900360200190f35b61010261021f565b610102610225565b61012c61022b565b604080516001600160a01b039092168252519081900360200190f35b61010261023a565b6101026004803603602081101561016657600080fd5b50356001600160a01b0316610240565b6101a26004803603604081101561018c57600080fd5b506001600160a01b038135169060200135610252565b6040805192835260208301919091528051918290030190f35b610102600480360360208110156101d157600080fd5b50356001600160a01b0316610276565b61010261051e565b610102610524565b61010261052a565b610102610530565b610102610536565b61010261053c565b610102610542565b600d5481565b600c5481565b60045481565b6001546001600160a01b031681565b60005490565b60036020526000908152604090205481565b60026020908152600092835260408084209091529082529020805460019091015482565b6000600d5442116102c7576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040902054610327576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040812080549082905560085490919061035c90839063ffffffff61054816565b9050610373600654826105aa90919063ffffffff16565b600954909350610389908463ffffffff6105ec16565b60095560015460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b1580156103d157600080fd5b505afa1580156103e5573d6000803e3d6000fd5b505050506040513d60208110156103fb57600080fd5b50516001546040805163757cca5960e11b8152600481018790526001600160a01b03888116602483015292831660448201529051919092169163eaf994b29160648083019260209291908290030181600087803b15801561045b57600080fd5b505af115801561046f573d6000803e3d6000fd5b505050506040513d602081101561048557600080fd5b50516104d8576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b600a5481565b60095481565b600b5481565b60065481565b60075481565b60055481565b60085481565b600082610557575060006105a4565b8282028284828161056457fe5b04146105a15760405162461bcd60e51b815260040180806020018281038252602181526020018061072b6021913960400191505060405180910390fd5b90505b92915050565b60006105a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061062e565b60006105a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106d0565b600081836106ba5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561067f578181015183820152602001610667565b50505050905090810190601f1680156106ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816106c657fe5b0495945050505050565b600081848411156107225760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561067f578181015183820152602001610667565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820504a5c1e13cf6168af5a18bfd6b4fea83ec9c5e8e2f7c7afecafdcfd07d8a96064736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}