{
  "_format": "hh-sol-artifact-1",
  "contractName": "EOARegistry",
  "sourceName": "contracts/utils/EOARegistry.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "CallerDidNotSignTheMessage",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SignatureAlreadyVerified",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "VerifiedEOASignature",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "MESSAGE_TO_SIGN",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "isVerifiedEOA",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "verifySignature",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "verifySignatureVRS",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a06040523480156200001157600080fd5b506200004360405180604001604052806003815260200162454f4160e81b8152506200004c60201b620003a31760201c565b608052620002d8565b60006200006582516200009660201b620003de1760201c565b826040516020016200007992919062000263565b604051602081830303815290604052805190602001209050919050565b60606000620000b0836200014660201b620004881760201c565b60010190506000816001600160401b03811115620000d257620000d2620002c2565b6040519080825280601f01601f191660200182016040528015620000fd576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508462000138576200013e565b62000107565b509392505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831062000190577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310620001bd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310620001dc57662386f26fc10000830492506010015b6305f5e1008310620001f5576305f5e100830492506008015b61271083106200020a57612710830492506004015b606483106200021d576064830492506002015b600a83106200022a576001015b92915050565b60005b838110156200024d57818101518382015260200162000233565b838111156200025d576000848401525b50505050565b7f19457468657265756d205369676e6564204d6573736167653a0a0000000000008152600083516200029d81601a85016020880162000230565b835190830190620002b681601a84016020880162000230565b01601a01949350505050565b634e487b7160e01b600052604160045260246000fd5b608051610a68620002fb6000396000818161020001526102d30152610a686000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806389a9c8551161005057806389a9c855146100dd57806399f9a67814610109578063f80af9841461011e57600080fd5b806301ffc9a71461006c57806333f0901b14610094575b600080fd5b61007f61007a366004610829565b610131565b60405190151581526020015b60405180910390f35b6100d06040518060400160405280600381526020017f454f41000000000000000000000000000000000000000000000000000000000081525081565b60405161008b91906108a2565b61007f6100eb3660046108d5565b6001600160a01b031660009081526020819052604090205460ff1690565b61011c6101173660046108fe565b6101ca565b005b61011c61012c366004610939565b61029d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f89a9c8550000000000000000000000000000000000000000000000000000000014806101c457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b3360009081526020819052604090205460ff16156101fb576040516319d18a2160e31b815260040160405180910390fd5b6102277f000000000000000000000000000000000000000000000000000000000000000084848461056a565b6001600160a01b0316336001600160a01b03161461025857604051637640718d60e01b815260040160405180910390fd5b33600081815260208190526040808220805460ff19166001179055517fe7f8d62df5af850daa5d677e9e5c8065b7b549ec99ae61ba0ffaa9f5bf3e2d039190a2505050565b3360009081526020819052604090205460ff16156102ce576040516319d18a2160e31b815260040160405180910390fd5b61032e7f000000000000000000000000000000000000000000000000000000000000000083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061059292505050565b6001600160a01b0316336001600160a01b03161461035f57604051637640718d60e01b815260040160405180910390fd5b33600081815260208190526040808220805460ff19166001179055517fe7f8d62df5af850daa5d677e9e5c8065b7b549ec99ae61ba0ffaa9f5bf3e2d039190a25050565b60006103af82516103de565b826040516020016103c19291906109ab565b604051602081830303815290604052805190602001209050919050565b606060006103eb83610488565b600101905060008167ffffffffffffffff81111561040b5761040b610a06565b6040519080825280601f01601f191660200182016040528015610435576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461047b57610480565b61043f565b509392505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106104d1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106104fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061051b57662386f26fc10000830492506010015b6305f5e1008310610533576305f5e100830492506008015b612710831061054757612710830492506004015b60648310610559576064830492506002015b600a83106101c45760010192915050565b600080600061057b878787876105ae565b9150915061058881610672565b5095945050505050565b60008060006105a185856107e3565b9150915061048081610672565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156105e55750600090506003610669565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610639573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661066257600060019250925050610669565b9150600090505b94509492505050565b600081600481111561068657610686610a1c565b141561068f5750565b60018160048111156106a3576106a3610a1c565b14156106f65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561070a5761070a610a1c565b14156107585760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106ed565b600381600481111561076c5761076c610a1c565b14156107e05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106ed565b50565b60008082516041141561081a5760208301516040840151606085015160001a61080e878285856105ae565b94509450505050610822565b506000905060025b9250929050565b60006020828403121561083b57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461086b57600080fd5b9392505050565b60005b8381101561088d578181015183820152602001610875565b8381111561089c576000848401525b50505050565b60208152600082518060208401526108c1816040850160208701610872565b601f01601f19169190910160400192915050565b6000602082840312156108e757600080fd5b81356001600160a01b038116811461086b57600080fd5b60008060006060848603121561091357600080fd5b833560ff8116811461092457600080fd5b95602085013595506040909401359392505050565b6000806020838503121561094c57600080fd5b823567ffffffffffffffff8082111561096457600080fd5b818501915085601f83011261097857600080fd5b81358181111561098757600080fd5b86602082850101111561099957600080fd5b60209290920196919550909350505050565b7f19457468657265756d205369676e6564204d6573736167653a0a0000000000008152600083516109e381601a850160208801610872565b8351908301906109fa81601a840160208801610872565b01601a01949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea26469706673582212203cf663b8af850584b782ef394ece1758189868fb972f6bce7f25e99314c1a8da64736f6c63430008090033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c806389a9c8551161005057806389a9c855146100dd57806399f9a67814610109578063f80af9841461011e57600080fd5b806301ffc9a71461006c57806333f0901b14610094575b600080fd5b61007f61007a366004610829565b610131565b60405190151581526020015b60405180910390f35b6100d06040518060400160405280600381526020017f454f41000000000000000000000000000000000000000000000000000000000081525081565b60405161008b91906108a2565b61007f6100eb3660046108d5565b6001600160a01b031660009081526020819052604090205460ff1690565b61011c6101173660046108fe565b6101ca565b005b61011c61012c366004610939565b61029d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f89a9c8550000000000000000000000000000000000000000000000000000000014806101c457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b3360009081526020819052604090205460ff16156101fb576040516319d18a2160e31b815260040160405180910390fd5b6102277f000000000000000000000000000000000000000000000000000000000000000084848461056a565b6001600160a01b0316336001600160a01b03161461025857604051637640718d60e01b815260040160405180910390fd5b33600081815260208190526040808220805460ff19166001179055517fe7f8d62df5af850daa5d677e9e5c8065b7b549ec99ae61ba0ffaa9f5bf3e2d039190a2505050565b3360009081526020819052604090205460ff16156102ce576040516319d18a2160e31b815260040160405180910390fd5b61032e7f000000000000000000000000000000000000000000000000000000000000000083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061059292505050565b6001600160a01b0316336001600160a01b03161461035f57604051637640718d60e01b815260040160405180910390fd5b33600081815260208190526040808220805460ff19166001179055517fe7f8d62df5af850daa5d677e9e5c8065b7b549ec99ae61ba0ffaa9f5bf3e2d039190a25050565b60006103af82516103de565b826040516020016103c19291906109ab565b604051602081830303815290604052805190602001209050919050565b606060006103eb83610488565b600101905060008167ffffffffffffffff81111561040b5761040b610a06565b6040519080825280601f01601f191660200182016040528015610435576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461047b57610480565b61043f565b509392505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106104d1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106104fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061051b57662386f26fc10000830492506010015b6305f5e1008310610533576305f5e100830492506008015b612710831061054757612710830492506004015b60648310610559576064830492506002015b600a83106101c45760010192915050565b600080600061057b878787876105ae565b9150915061058881610672565b5095945050505050565b60008060006105a185856107e3565b9150915061048081610672565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156105e55750600090506003610669565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610639573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661066257600060019250925050610669565b9150600090505b94509492505050565b600081600481111561068657610686610a1c565b141561068f5750565b60018160048111156106a3576106a3610a1c565b14156106f65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561070a5761070a610a1c565b14156107585760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106ed565b600381600481111561076c5761076c610a1c565b14156107e05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106ed565b50565b60008082516041141561081a5760208301516040840151606085015160001a61080e878285856105ae565b94509450505050610822565b506000905060025b9250929050565b60006020828403121561083b57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461086b57600080fd5b9392505050565b60005b8381101561088d578181015183820152602001610875565b8381111561089c576000848401525b50505050565b60208152600082518060208401526108c1816040850160208701610872565b601f01601f19169190910160400192915050565b6000602082840312156108e757600080fd5b81356001600160a01b038116811461086b57600080fd5b60008060006060848603121561091357600080fd5b833560ff8116811461092457600080fd5b95602085013595506040909401359392505050565b6000806020838503121561094c57600080fd5b823567ffffffffffffffff8082111561096457600080fd5b818501915085601f83011261097857600080fd5b81358181111561098757600080fd5b86602082850101111561099957600080fd5b60209290920196919550909350505050565b7f19457468657265756d205369676e6564204d6573736167653a0a0000000000008152600083516109e381601a850160208801610872565b8351908301906109fa81601a840160208801610872565b01601a01949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea26469706673582212203cf663b8af850584b782ef394ece1758189868fb972f6bce7f25e99314c1a8da64736f6c63430008090033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
