{
  "contractName": "AccessControl",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "methodSignature",
          "type": "bytes4"
        }
      ],
      "name": "GrantedAccess",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "methodSignature",
          "type": "bytes4"
        }
      ],
      "name": "RevokedAccess",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes4",
          "name": "methodSignature",
          "type": "bytes4"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "grantAccess",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes4",
          "name": "methodSignature",
          "type": "bytes4"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "hasAccess",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "hasRootAccess",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes4",
          "name": "methodSignature",
          "type": "bytes4"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "revokeAccess",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506103f8806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631717e867146100515780631b1268151461006657806339262e871461008f578063e8f7ca3e146100a2575b600080fd5b61006461005f3660046102ee565b6100b5565b005b6100796100743660046102ee565b610171565b604051610086919061033b565b60405180910390f35b61006461009d3660046102ee565b6101e8565b6100796100b03660046102bf565b61028b565b6100cc836000356001600160e01b03191633610171565b6100f15760405162461bcd60e51b81526004016100e89061035b565b60405180910390fd5b6000838152602081815260408083206001600160e01b031986168452600c0182528083206001600160a01b038516808552925291829020805460ff19166001179055905184907face25d271ad11ee299595b3021629bae0349e370d7c2eb7c2dced6e4edb4786590610164908690610346565b60405180910390a3505050565b6000838152602081815260408083206001600160e01b031986168452600c0182528083206001600160a01b038516845290915281205460ff16806101e05750600084815260208181526040808320838052600c0182528083206001600160a01b038616845290915290205460ff165b949350505050565b6101ff836000356001600160e01b03191633610171565b61021b5760405162461bcd60e51b81526004016100e89061035b565b6000838152602081815260408083206001600160e01b031986168452600c0182528083206001600160a01b038516808552925291829020805460ff19169055905184907f42b1b0e7392ad606bb4f5b003296aba62f16e43aa9372f1f40c1522fa2655ffa90610164908690610346565b600091825260208281526040808420848052600c0182528084206001600160a01b0393909316845291905290205460ff1690565b600080604083850312156102d1578182fd5b8235915060208301356102e3816103aa565b809150509250929050565b600080600060608486031215610302578081fd5b8335925060208401356001600160e01b031981168114610320578182fd5b91506040840135610330816103aa565b809150509250925092565b901515815260200190565b6001600160e01b031991909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c2e7265766f6b654163636573733a20554e415560408201526e2a2427a924ad22a22fa9a2a72222a960891b606082015260800190565b6001600160a01b03811681146103bf57600080fd5b5056fea26469706673582212209bf54afda624589c33cd166db574a98b6f8f8b5c8f3d9126994d49658ed7050164736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631717e867146100515780631b1268151461006657806339262e871461008f578063e8f7ca3e146100a2575b600080fd5b61006461005f3660046102ee565b6100b5565b005b6100796100743660046102ee565b610171565b604051610086919061033b565b60405180910390f35b61006461009d3660046102ee565b6101e8565b6100796100b03660046102bf565b61028b565b6100cc836000356001600160e01b03191633610171565b6100f15760405162461bcd60e51b81526004016100e89061035b565b60405180910390fd5b6000838152602081815260408083206001600160e01b031986168452600c0182528083206001600160a01b038516808552925291829020805460ff19166001179055905184907face25d271ad11ee299595b3021629bae0349e370d7c2eb7c2dced6e4edb4786590610164908690610346565b60405180910390a3505050565b6000838152602081815260408083206001600160e01b031986168452600c0182528083206001600160a01b038516845290915281205460ff16806101e05750600084815260208181526040808320838052600c0182528083206001600160a01b038616845290915290205460ff165b949350505050565b6101ff836000356001600160e01b03191633610171565b61021b5760405162461bcd60e51b81526004016100e89061035b565b6000838152602081815260408083206001600160e01b031986168452600c0182528083206001600160a01b038516808552925291829020805460ff19169055905184907f42b1b0e7392ad606bb4f5b003296aba62f16e43aa9372f1f40c1522fa2655ffa90610164908690610346565b600091825260208281526040808420848052600c0182528084206001600160a01b0393909316845291905290205460ff1690565b600080604083850312156102d1578182fd5b8235915060208301356102e3816103aa565b809150509250929050565b600080600060608486031215610302578081fd5b8335925060208401356001600160e01b031981168114610320578182fd5b91506040840135610330816103aa565b809150509250925092565b901515815260200190565b6001600160e01b031991909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c2e7265766f6b654163636573733a20554e415560408201526e2a2427a924ad22a22fa9a2a72222a960891b606082015260800190565b6001600160a01b03811681146103bf57600080fd5b5056fea26469706673582212209bf54afda624589c33cd166db574a98b6f8f8b5c8f3d9126994d49658ed7050164736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
