{
  "_format": "hh-sol-artifact-1",
  "contractName": "RoleManager",
  "sourceName": "contracts/utils/RoleManager.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "newPendingAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "role",
          "type": "uint256"
        }
      ],
      "name": "PendingAdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "role",
          "type": "uint256"
        }
      ],
      "name": "RoleClaimed",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "role",
          "type": "uint256"
        }
      ],
      "name": "claimRoleAdmin",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "role",
          "type": "uint256"
        }
      ],
      "name": "getAdmin",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "role",
          "type": "uint256"
        }
      ],
      "name": "getPendingAdmin",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "role",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "newPendingAdmin",
          "type": "address"
        }
      ],
      "name": "setPendingAdmin",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b506103088061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063111fd88b146100515780634575e69b14610096578063ab406fe6146100bf578063fde9eb69146100d4575b600080fd5b61007a61005f36600461027d565b6000908152602081905260409020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100a436600461027d565b6000908152600160205260409020546001600160a01b031690565b6100d26100cd366004610296565b6100e7565b005b6100d26100e236600461027d565b6101af565b60008281526020819052604090205482906001600160a01b0316331461014c5760405162461bcd60e51b815260206004820152601560248201527421a0a62622a92fa727aa2fa927a622afa0a226a4a760591b60448201526064015b60405180910390fd5b60008381526001602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915591518581527fc3d1bf52795a20771ee6de3e59948fd83e10db956122d4709a3b86c512963855910160405180910390a2505050565b60008181526001602052604090205481906001600160a01b031633146102175760405162461bcd60e51b815260206004820152601d60248201527f43414c4c45525f4e4f545f50454e44494e475f524f4c455f41444d494e0000006044820152606401610143565b6000828152602081815260408083208054336001600160a01b0319918216811790925560018452938290208054909416909355518481527f83a9ddad961dcb7c6894c9585a16ff7792c2ec8281256a3cc7303ae830152dcf910160405180910390a25050565b60006020828403121561028f57600080fd5b5035919050565b600080604083850312156102a957600080fd5b8235915060208301356001600160a01b03811681146102c757600080fd5b80915050925092905056fea264697066735822122084cea3c0860465f43ae8dee37a3f6369f9199b78b7959b442c85434955444a0b64736f6c634300081b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063111fd88b146100515780634575e69b14610096578063ab406fe6146100bf578063fde9eb69146100d4575b600080fd5b61007a61005f36600461027d565b6000908152602081905260409020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100a436600461027d565b6000908152600160205260409020546001600160a01b031690565b6100d26100cd366004610296565b6100e7565b005b6100d26100e236600461027d565b6101af565b60008281526020819052604090205482906001600160a01b0316331461014c5760405162461bcd60e51b815260206004820152601560248201527421a0a62622a92fa727aa2fa927a622afa0a226a4a760591b60448201526064015b60405180910390fd5b60008381526001602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915591518581527fc3d1bf52795a20771ee6de3e59948fd83e10db956122d4709a3b86c512963855910160405180910390a2505050565b60008181526001602052604090205481906001600160a01b031633146102175760405162461bcd60e51b815260206004820152601d60248201527f43414c4c45525f4e4f545f50454e44494e475f524f4c455f41444d494e0000006044820152606401610143565b6000828152602081815260408083208054336001600160a01b0319918216811790925560018452938290208054909416909355518481527f83a9ddad961dcb7c6894c9585a16ff7792c2ec8281256a3cc7303ae830152dcf910160405180910390a25050565b60006020828403121561028f57600080fd5b5035919050565b600080604083850312156102a957600080fd5b8235915060208301356001600160a01b03811681146102c757600080fd5b80915050925092905056fea264697066735822122084cea3c0860465f43ae8dee37a3f6369f9199b78b7959b442c85434955444a0b64736f6c634300081b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
