{
  "_format": "hh-sol-artifact-1",
  "contractName": "AuthorizerMock",
  "sourceName": "contracts/test/samples/AuthorizerMock.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "Authorized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "Unauthorized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ANY_ADDRESS",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "authorize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "isAuthorized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "unauthorize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610022336324cfc3cf60e21b610038565b61003333633323521b60e11b610038565b6100a4565b6001600160a01b0382166000818152602081815260408083206001600160e01b0319861680855290835292819020805460ff19166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df7910160405180910390a25050565b610481806100b36000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80633f81a192146100515780636646a43614610096578063933f0f3c146100ab578063d9972b96146100be575b600080fd5b61006c73ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100a96100a43660046103d4565b6100e1565b005b6100a96100b93660046103d4565b61011d565b6100d16100cc3660046103d4565b610155565b604051901515815260200161008d565b61010f336000357fffffffff000000000000000000000000000000000000000000000000000000001661020b565b610119828261027f565b5050565b61014b336000357fffffffff000000000000000000000000000000000000000000000000000000001661020b565b610119828261032c565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff1680610204575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b9392505050565b6102158282610155565b610119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f574544000000000000000000604482015260640160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610320565b600080604083850312156103e757600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461040b57600080fd5b915060208301357fffffffff000000000000000000000000000000000000000000000000000000008116811461044057600080fd5b80915050925092905056fea264697066735822122001cf33e0f088929e120247c0289eb1e7f5ffac30bbacef25f0f94ff04a77e60564736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80633f81a192146100515780636646a43614610096578063933f0f3c146100ab578063d9972b96146100be575b600080fd5b61006c73ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100a96100a43660046103d4565b6100e1565b005b6100a96100b93660046103d4565b61011d565b6100d16100cc3660046103d4565b610155565b604051901515815260200161008d565b61010f336000357fffffffff000000000000000000000000000000000000000000000000000000001661020b565b610119828261027f565b5050565b61014b336000357fffffffff000000000000000000000000000000000000000000000000000000001661020b565b610119828261032c565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff1680610204575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b9392505050565b6102158282610155565b610119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f574544000000000000000000604482015260640160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610320565b600080604083850312156103e757600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461040b57600080fd5b915060208301357fffffffff000000000000000000000000000000000000000000000000000000008116811461044057600080fd5b80915050925092905056fea264697066735822122001cf33e0f088929e120247c0289eb1e7f5ffac30bbacef25f0f94ff04a77e60564736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
