{
  "_format": "hh-sol-artifact-1",
  "contractName": "SemaphoreChecker",
  "sourceName": "contracts/extensions/semaphore/SemaphoreChecker.sol",
  "abi": [
    {
      "inputs": [],
      "name": "AlreadyInitialized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidGroup",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidProof",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidProver",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "subject",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "evidence",
          "type": "bytes"
        }
      ],
      "name": "check",
      "outputs": [
        {
          "internalType": "bool",
          "name": "checked",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAppendedBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "appendedBytes",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "groupId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "semaphore",
      "outputs": [
        {
          "internalType": "contract ISemaphore",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b506106078061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e146100675780637b5d2534146100895780638129fc1c146100b9578063a0f44c92146100c3578063b41a4b19146100da578063e2b24085146100ef575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b6000546100a19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100c1610102565b005b6100cc60015481565b604051908152602001610080565b6100e261010c565b604051610080919061031a565b6100746100fd366004610380565b61011b565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b6101386102b9565b600061014261018a565b90506000808280602001905181019061015b9190610407565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b6060610116306102eb565b6000806101a483850185610498565b608081015160015491925090606082901c906bffffffffffffffffffffffff83169081146101e55760405163036c503960e61b815260040160405180910390fd5b876001600160a01b0316826001600160a01b03161461021757604051635945f53b60e01b815260040160405180910390fd5b6000546040516308ade83160e31b81526101009091046001600160a01b03169063456f41889061024d9086908890600401610538565b602060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028e91906105a8565b6102ab576040516309bde33960e01b815260040160405180910390fd5b506001979650505050505050565b60005460ff16156102dc5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b81811015610348576020818601810151604086840101520161032b565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461037d57600080fd5b50565b60008060006040848603121561039557600080fd5b83356103a081610368565b9250602084013567ffffffffffffffff8111156103bc57600080fd5b8401601f810186136103cd57600080fd5b803567ffffffffffffffff8111156103e457600080fd5b8660208284010111156103f657600080fd5b939660209190910195509293505050565b6000806040838503121561041a57600080fd5b825161042581610368565b6020939093015192949293505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561046e5761046e610435565b60405290565b604051610100810167ffffffffffffffff8111828210171561046e5761046e610435565b60006101a08284031280156104ac57600080fd5b5060006104b761044b565b833581526020808501359082015260408085013590820152606080850135908201526080808501359082015260bf840185136104f1578182fd5b6104f9610474565b806101a086018781111561050b578485fd5b60a087015b81811015610528578035845260209384019301610510565b505060a083015250949350505050565b60006101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c0830160005b600881101561059e57825182526020928301929091019060010161057f565b5050509392505050565b6000602082840312156105ba57600080fd5b815180151581146105ca57600080fd5b939250505056fea2646970667358221220adce64219151f94844a1ff6e6e9ea699b09b878c6a7d3848f70b739e5fa9d7ad64736f6c634300081c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e146100675780637b5d2534146100895780638129fc1c146100b9578063a0f44c92146100c3578063b41a4b19146100da578063e2b24085146100ef575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b6000546100a19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100c1610102565b005b6100cc60015481565b604051908152602001610080565b6100e261010c565b604051610080919061031a565b6100746100fd366004610380565b61011b565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b6101386102b9565b600061014261018a565b90506000808280602001905181019061015b9190610407565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b6060610116306102eb565b6000806101a483850185610498565b608081015160015491925090606082901c906bffffffffffffffffffffffff83169081146101e55760405163036c503960e61b815260040160405180910390fd5b876001600160a01b0316826001600160a01b03161461021757604051635945f53b60e01b815260040160405180910390fd5b6000546040516308ade83160e31b81526101009091046001600160a01b03169063456f41889061024d9086908890600401610538565b602060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028e91906105a8565b6102ab576040516309bde33960e01b815260040160405180910390fd5b506001979650505050505050565b60005460ff16156102dc5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b81811015610348576020818601810151604086840101520161032b565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461037d57600080fd5b50565b60008060006040848603121561039557600080fd5b83356103a081610368565b9250602084013567ffffffffffffffff8111156103bc57600080fd5b8401601f810186136103cd57600080fd5b803567ffffffffffffffff8111156103e457600080fd5b8660208284010111156103f657600080fd5b939660209190910195509293505050565b6000806040838503121561041a57600080fd5b825161042581610368565b6020939093015192949293505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561046e5761046e610435565b60405290565b604051610100810167ffffffffffffffff8111828210171561046e5761046e610435565b60006101a08284031280156104ac57600080fd5b5060006104b761044b565b833581526020808501359082015260408085013590820152606080850135908201526080808501359082015260bf840185136104f1578182fd5b6104f9610474565b806101a086018781111561050b578485fd5b60a087015b81811015610528578035845260209384019301610510565b505060a083015250949350505050565b60006101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c0830160005b600881101561059e57825182526020928301929091019060010161057f565b5050509392505050565b6000602082840312156105ba57600080fd5b815180151581146105ca57600080fd5b939250505056fea2646970667358221220adce64219151f94844a1ff6e6e9ea699b09b878c6a7d3848f70b739e5fa9d7ad64736f6c634300081c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
