{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC20VotesChecker",
  "sourceName": "contracts/extensions/erc20votes/ERC20VotesChecker.sol",
  "abi": [
    {
      "inputs": [],
      "name": "AlreadyInitialized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BalanceTooLow",
      "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": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "snapshotBlock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "threshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "token",
      "outputs": [
        {
          "internalType": "contract IVotes",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b506104418061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b41a4b19146100ce578063e2b24085146100e3578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806342cde4e8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60025481565b6100cc610126565b005b6100d6610130565b60405161009b91906102ce565b61008f6100f1366004610334565b61013f565b60005461010e9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b61012e610154565b565b606061013a6101b4565b905090565b600061014c8484846101bf565b949350505050565b61015c61026d565b60006101666101b4565b905060008060008380602001905181019061018191906103bb565b600080546001600160a01b0390941661010002610100600160a81b03199094169390931790925560015560025550505050565b606061013a3061029f565b6000808054600154604051630748d63560e31b81526001600160a01b03888116600483015260248201929092526101009092041690633a46b1a890604401602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906103f2565b90506002548111610262576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff16156102905760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102fc57602081860181015160408684010152016102df565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461033157600080fd5b50565b60008060006040848603121561034957600080fd5b83356103548161031c565b9250602084013567ffffffffffffffff81111561037057600080fd5b8401601f8101861361038157600080fd5b803567ffffffffffffffff81111561039857600080fd5b8660208284010111156103aa57600080fd5b939660209190910195509293505050565b6000806000606084860312156103d057600080fd5b83516103db8161031c565b602085015160409095015190969495509392505050565b60006020828403121561040457600080fd5b505191905056fea2646970667358221220fcb5b2e686ad8c2bdd409fe78bb7503af6df22a1d64129f80320b07afa88879464736f6c634300081c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b41a4b19146100ce578063e2b24085146100e3578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806342cde4e8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60025481565b6100cc610126565b005b6100d6610130565b60405161009b91906102ce565b61008f6100f1366004610334565b61013f565b60005461010e9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b61012e610154565b565b606061013a6101b4565b905090565b600061014c8484846101bf565b949350505050565b61015c61026d565b60006101666101b4565b905060008060008380602001905181019061018191906103bb565b600080546001600160a01b0390941661010002610100600160a81b03199094169390931790925560015560025550505050565b606061013a3061029f565b6000808054600154604051630748d63560e31b81526001600160a01b03888116600483015260248201929092526101009092041690633a46b1a890604401602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906103f2565b90506002548111610262576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff16156102905760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102fc57602081860181015160408684010152016102df565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461033157600080fd5b50565b60008060006040848603121561034957600080fd5b83356103548161031c565b9250602084013567ffffffffffffffff81111561037057600080fd5b8401601f8101861361038157600080fd5b803567ffffffffffffffff81111561039857600080fd5b8660208284010111156103aa57600080fd5b939660209190910195509293505050565b6000806000606084860312156103d057600080fd5b83516103db8161031c565b602085015160409095015190969495509392505050565b60006020828403121561040457600080fd5b505191905056fea2646970667358221220fcb5b2e686ad8c2bdd409fe78bb7503af6df22a1d64129f80320b07afa88879464736f6c634300081c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
