{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC7913WebAuthnVerifier",
  "sourceName": "contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "key",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "verify",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600e575f5ffd5b5061141e8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b366004611085565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f5f3661006a858561010b565b9150915081801561007b5750604087145b80156100e357506100e38660405160200161009891815260200190565b604051602081830303815290604052826100b1906111cc565b6100be60205f8c8e611262565b6100c791611289565b6100d5604060208d8f611262565b6100de91611289565b610208565b6100f5576001600160e01b03196100fd565b62495a6360e31b5b925050505b95945050505050565b5f8260c083101561011e575f9150610201565b5f61012c8460808188611262565b61013591611289565b90505f6101458560a08189611262565b61014e91611289565b90508161015c6020876112ba565b108061017157508061016f6020876112ba565b105b15610180575f93505050610201565b5f61018d8684818a611262565b61019691611289565b90505f6101a58784818b611262565b6101ae91611289565b90508160206101bd868a6112ba565b6101c791906112ba565b10806101e757508060206101db858a6112ba565b6101e591906112ba565b105b156101f8575f955050505050610201565b60019550505050505b9250929050565b5f6101028585858560015f602485608001515111801561026e575061026e8560a0015186606001518181016020015191516014909101106affffffffffffffffffffff199190911674113a3cb832911d113bb2b130baba34371733b2ba1160591b141690565b801561028857506102888560a0015186604001518861040d565b80156102ba57506102ba85608001516020815181106102a9576102a96112cd565b0160200151600160f81b9081161490565b80156102f457508115806102f457506102f485608001516020815181106102e3576102e36112cd565b0160200151600160fa1b9081161490565b801561032957506103298560800151602081518110610315576103156112cd565b01602001516001600160f81b03191661045b565b801561040357506104036002866080015160028860a0015160405161034e91906112f8565b602060405180830381855afa158015610369573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061038c9190611303565b60405160200161039d92919061131a565b60408051601f19818403018152908290526103b7916112f8565b602060405180830381855afa1580156103d2573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103f59190611303565b86516020880151878761047a565b9695505050505050565b5f5f610418836104b0565b6040516020016104289190611332565b60405160208183030381529060405290505f61044f868661044a8886516104bd565b6104d5565b90506104038183610556565b5f600160fb1b82811614806104745750600160fc1b8216155b92915050565b5f5f5f61048a8888888888610568565b91509150806104a5576104a08888888888610643565b6100fd565b509695505050505050565b60606104748260016106f3565b5f828201838110159081025f19808218830218610102565b60606104e2828551610872565b91506104ee8383610872565b92505f6104fb84846112ba565b67ffffffffffffffff811115610513576105136110fe565b6040519080825280601f01601f19166020018201604052801561053d576020820181803683370190505b509050838303846020870101602083015e949350505050565b5f6105618383610881565b9392505050565b5f5f61057486866108a5565b1580610587575061058584846108fc565b155b1561059757505f90506001610639565b6105a48787878787610960565b156105b457506001905080610639565b6106237fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023600560017fa71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9577f5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b610960565b1561063357505f90506001610639565b505f9050805b9550959350505050565b5f61064e85856108a5565b1580610661575061065f83836108fc565b155b1561066d57505f610102565b5f61067884846109a0565b90505f610692865f5160206113c95f395f51905f52610b93565b90505f5f5160206113c95f395f51905f52828a0990505f5f5160206113c95f395f51905f52838a0990505f6106c8858484610ba2565b509050896106e35f5160206113c95f395f51905f5283611378565b149b9a5050505050505050505050565b606082515f03610711575060408051602081019091525f8152610474565b5f8261074157600384516002610727919061138b565b610731919061139e565b61073c9060046113b1565b610766565b60038451600461075191906113b1565b61075c90600261138b565b610766919061139e565b905060405191507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f5261067083027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f18603f526020820181810185865187016020810180515f82525b82841015610824576003840193508351603f8160121c16518753600187019650603f81600c1c16518753600187019650603f8160061c16518753600187019650603f8116518753506001860195506107d1565b90525085905061086557600386510660018114610848576002811461085b57610863565b603d6001840353603d6002840353610863565b603d60018403535b505b9183525060405292915050565b5f828218828410028218610561565b5f815183511480156105615750508051602091820120825192909101919091201490565b5f82158015906108c157505f5160206113c95f395f51905f5283105b80156108cc57508115155b80156105615750507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a81015919050565b5f600160601b63ffffffff60c01b031980838409817f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8387856003600160601b0363ffffffff60c01b0319878b8c0908090894821191909310169190921416919050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa61099357fe5b50505f5195945050505050565b6109a8611000565b60405180606001604052805f81526020015f81526020015f815250815f601081106109d5576109d56112cd565b60200201819052506040518060600160405280848152602001838152602001600181525081600160108110610a0c57610a0c6112cd565b602002018190525060405180606001604052807f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681526020017f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f58152602001600181525081600460108110610a8357610a836112cd565b6020020152610a998160015b6020020151610cc6565b6040820152610aa9816004610a8f565b6101008201526020810151610ac6908260025b6020020151610d22565b6060820152610adf8160015b6020020151826004610abc565b60a0820152610aef816002610ad2565b60c0820152610aff816003610ad2565b60e0820152610b188160015b6020020151826008610abc565b610120820152610b29816002610b0b565b610140820152610b3a816003610b0b565b610160820152610b4b816004610b0b565b610180820152610b658160015b602002015182600c610abc565b6101a0820152610b76816002610b58565b6101c0820152610b87816003610b58565b6101e082015292915050565b5f610561836002840384610d80565b5f80808080805b6080811015610caa578115610bdd57610bc3848484610da1565b91955093509150610bd5848484610da1565b919550935091505b600c60fc89901c1660fe88901c17898160108110610bfd57610bfd6112cd565b60200201516040015115610c9657825f03610c6c57898160108110610c2457610c246112cd565b6020020151518a8260108110610c3c57610c3c6112cd565b6020020151602001518b8360108110610c5757610c576112cd565b60200201516040015191965094509250610c96565b610c8e8a8260108110610c8157610c816112cd565b6020020151868686610e24565b919650945092505b50600297881b979690961b95600101610ba9565b50610cb6838383610f50565b945094505050505b935093915050565b610ce760405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610d00855f015186602001518760400151610da1565b6040805160608101825293845260208401929092529082015295945050505050565b610d4360405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610d5d86865f015187602001518860400151610e24565b604080516060810182529384526020840192909252908201529695505050505050565b5f5f5f610d8e868686610f9d565b9150915081610102576101026012610fef565b5f5f5f600160601b63ffffffff60c01b031980868709818687098283848384096003600160601b0363ffffffff60c01b03190984858c8d096003090890508283838b09600409838482600209850385848509089650838485858609600809850385868a880385088509089550505050808186880960020991505093509350939050565b5f5f5f600160601b63ffffffff60c01b0319604088015181818209828388858a8b090960208c0151098381850385868686098c090884858a8b098d51098581870387868f0908935081158415168015610e845760018114610eca57610f3f565b868586098788898386096002098903898a848a098b038b88890908089a5087888983890987098903898a8e8c038c8689090887090899505086878c880986099750610f3f565b8c8c8c898283098a8283098b8c8d8384096003600160601b0363ffffffff60c01b0319098d8e8889096003090890508b8c83870960040994508b8c866002098d038d838409089e508b8c8384096008098c0391508b8f8d03860894508b828d878409089d505050898a8284096002099a505050505b505050505050509450945094915050565b5f5f825f03610f6357505f905080610cbe565b600160601b63ffffffff60c01b03195f610f7d8583610b93565b905081818209828189099450828383830988099350505050935093915050565b5f5f825f03610fb057505f905080610cbe565b60405160208152602080820152602060408201528560608201528460808201528360a082015260205f60c08360055afa9250505f519050935093915050565b634e487b715f52806020526024601cfd5b6040518061020001604052806010905b61103160405180606001604052805f81526020015f81526020015f81525090565b8152602001906001900390816110105790505090565b5f5f83601f840112611057575f5ffd5b50813567ffffffffffffffff81111561106e575f5ffd5b602083019150836020828501011115610201575f5ffd5b5f5f5f5f5f60608688031215611099575f5ffd5b853567ffffffffffffffff8111156110af575f5ffd5b6110bb88828901611047565b90965094505060208601359250604086013567ffffffffffffffff8111156110e1575f5ffd5b6110ed88828901611047565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715611135576111356110fe565b60405290565b5f82601f83011261114a575f5ffd5b8135602083015f5f67ffffffffffffffff84111561116a5761116a6110fe565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611199576111996110fe565b6040528381529050808284018710156111b0575f5ffd5b838360208301375f602085830101528094505050505092915050565b5f60c082360312156111dc575f5ffd5b6111e4611112565b82358152602080840135908201526040808401359082015260608084013590820152608083013567ffffffffffffffff81111561121f575f5ffd5b61122b3682860161113b565b60808301525060a083013567ffffffffffffffff81111561124a575f5ffd5b6112563682860161113b565b60a08301525092915050565b5f5f85851115611270575f5ffd5b8386111561127c575f5ffd5b5050820193919092039150565b80356020831015610474575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610474576104746112a6565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f61056182846112e1565b5f60208284031215611313575f5ffd5b5051919050565b5f61132582856112e1565b9283525050602001919050565b6c1131b430b63632b733b2911d1160991b81525f611353600d8301846112e1565b601160f91b81526001019392505050565b634e487b7160e01b5f52601260045260245ffd5b5f8261138657611386611364565b500690565b80820180821115610474576104746112a6565b5f826113ac576113ac611364565b500490565b8082028115828204841417610474576104746112a656feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220706f6c522a2d6d87c0084245a121b056a29e28cfb62ae3e607f31bdf82fa9ecc64736f6c634300081f0033",
  "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b366004611085565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f5f3661006a858561010b565b9150915081801561007b5750604087145b80156100e357506100e38660405160200161009891815260200190565b604051602081830303815290604052826100b1906111cc565b6100be60205f8c8e611262565b6100c791611289565b6100d5604060208d8f611262565b6100de91611289565b610208565b6100f5576001600160e01b03196100fd565b62495a6360e31b5b925050505b95945050505050565b5f8260c083101561011e575f9150610201565b5f61012c8460808188611262565b61013591611289565b90505f6101458560a08189611262565b61014e91611289565b90508161015c6020876112ba565b108061017157508061016f6020876112ba565b105b15610180575f93505050610201565b5f61018d8684818a611262565b61019691611289565b90505f6101a58784818b611262565b6101ae91611289565b90508160206101bd868a6112ba565b6101c791906112ba565b10806101e757508060206101db858a6112ba565b6101e591906112ba565b105b156101f8575f955050505050610201565b60019550505050505b9250929050565b5f6101028585858560015f602485608001515111801561026e575061026e8560a0015186606001518181016020015191516014909101106affffffffffffffffffffff199190911674113a3cb832911d113bb2b130baba34371733b2ba1160591b141690565b801561028857506102888560a0015186604001518861040d565b80156102ba57506102ba85608001516020815181106102a9576102a96112cd565b0160200151600160f81b9081161490565b80156102f457508115806102f457506102f485608001516020815181106102e3576102e36112cd565b0160200151600160fa1b9081161490565b801561032957506103298560800151602081518110610315576103156112cd565b01602001516001600160f81b03191661045b565b801561040357506104036002866080015160028860a0015160405161034e91906112f8565b602060405180830381855afa158015610369573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061038c9190611303565b60405160200161039d92919061131a565b60408051601f19818403018152908290526103b7916112f8565b602060405180830381855afa1580156103d2573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103f59190611303565b86516020880151878761047a565b9695505050505050565b5f5f610418836104b0565b6040516020016104289190611332565b60405160208183030381529060405290505f61044f868661044a8886516104bd565b6104d5565b90506104038183610556565b5f600160fb1b82811614806104745750600160fc1b8216155b92915050565b5f5f5f61048a8888888888610568565b91509150806104a5576104a08888888888610643565b6100fd565b509695505050505050565b60606104748260016106f3565b5f828201838110159081025f19808218830218610102565b60606104e2828551610872565b91506104ee8383610872565b92505f6104fb84846112ba565b67ffffffffffffffff811115610513576105136110fe565b6040519080825280601f01601f19166020018201604052801561053d576020820181803683370190505b509050838303846020870101602083015e949350505050565b5f6105618383610881565b9392505050565b5f5f61057486866108a5565b1580610587575061058584846108fc565b155b1561059757505f90506001610639565b6105a48787878787610960565b156105b457506001905080610639565b6106237fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023600560017fa71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9577f5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b610960565b1561063357505f90506001610639565b505f9050805b9550959350505050565b5f61064e85856108a5565b1580610661575061065f83836108fc565b155b1561066d57505f610102565b5f61067884846109a0565b90505f610692865f5160206113c95f395f51905f52610b93565b90505f5f5160206113c95f395f51905f52828a0990505f5f5160206113c95f395f51905f52838a0990505f6106c8858484610ba2565b509050896106e35f5160206113c95f395f51905f5283611378565b149b9a5050505050505050505050565b606082515f03610711575060408051602081019091525f8152610474565b5f8261074157600384516002610727919061138b565b610731919061139e565b61073c9060046113b1565b610766565b60038451600461075191906113b1565b61075c90600261138b565b610766919061139e565b905060405191507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f5261067083027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f18603f526020820181810185865187016020810180515f82525b82841015610824576003840193508351603f8160121c16518753600187019650603f81600c1c16518753600187019650603f8160061c16518753600187019650603f8116518753506001860195506107d1565b90525085905061086557600386510660018114610848576002811461085b57610863565b603d6001840353603d6002840353610863565b603d60018403535b505b9183525060405292915050565b5f828218828410028218610561565b5f815183511480156105615750508051602091820120825192909101919091201490565b5f82158015906108c157505f5160206113c95f395f51905f5283105b80156108cc57508115155b80156105615750507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a81015919050565b5f600160601b63ffffffff60c01b031980838409817f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8387856003600160601b0363ffffffff60c01b0319878b8c0908090894821191909310169190921416919050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa61099357fe5b50505f5195945050505050565b6109a8611000565b60405180606001604052805f81526020015f81526020015f815250815f601081106109d5576109d56112cd565b60200201819052506040518060600160405280848152602001838152602001600181525081600160108110610a0c57610a0c6112cd565b602002018190525060405180606001604052807f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681526020017f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f58152602001600181525081600460108110610a8357610a836112cd565b6020020152610a998160015b6020020151610cc6565b6040820152610aa9816004610a8f565b6101008201526020810151610ac6908260025b6020020151610d22565b6060820152610adf8160015b6020020151826004610abc565b60a0820152610aef816002610ad2565b60c0820152610aff816003610ad2565b60e0820152610b188160015b6020020151826008610abc565b610120820152610b29816002610b0b565b610140820152610b3a816003610b0b565b610160820152610b4b816004610b0b565b610180820152610b658160015b602002015182600c610abc565b6101a0820152610b76816002610b58565b6101c0820152610b87816003610b58565b6101e082015292915050565b5f610561836002840384610d80565b5f80808080805b6080811015610caa578115610bdd57610bc3848484610da1565b91955093509150610bd5848484610da1565b919550935091505b600c60fc89901c1660fe88901c17898160108110610bfd57610bfd6112cd565b60200201516040015115610c9657825f03610c6c57898160108110610c2457610c246112cd565b6020020151518a8260108110610c3c57610c3c6112cd565b6020020151602001518b8360108110610c5757610c576112cd565b60200201516040015191965094509250610c96565b610c8e8a8260108110610c8157610c816112cd565b6020020151868686610e24565b919650945092505b50600297881b979690961b95600101610ba9565b50610cb6838383610f50565b945094505050505b935093915050565b610ce760405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610d00855f015186602001518760400151610da1565b6040805160608101825293845260208401929092529082015295945050505050565b610d4360405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610d5d86865f015187602001518860400151610e24565b604080516060810182529384526020840192909252908201529695505050505050565b5f5f5f610d8e868686610f9d565b9150915081610102576101026012610fef565b5f5f5f600160601b63ffffffff60c01b031980868709818687098283848384096003600160601b0363ffffffff60c01b03190984858c8d096003090890508283838b09600409838482600209850385848509089650838485858609600809850385868a880385088509089550505050808186880960020991505093509350939050565b5f5f5f600160601b63ffffffff60c01b0319604088015181818209828388858a8b090960208c0151098381850385868686098c090884858a8b098d51098581870387868f0908935081158415168015610e845760018114610eca57610f3f565b868586098788898386096002098903898a848a098b038b88890908089a5087888983890987098903898a8e8c038c8689090887090899505086878c880986099750610f3f565b8c8c8c898283098a8283098b8c8d8384096003600160601b0363ffffffff60c01b0319098d8e8889096003090890508b8c83870960040994508b8c866002098d038d838409089e508b8c8384096008098c0391508b8f8d03860894508b828d878409089d505050898a8284096002099a505050505b505050505050509450945094915050565b5f5f825f03610f6357505f905080610cbe565b600160601b63ffffffff60c01b03195f610f7d8583610b93565b905081818209828189099450828383830988099350505050935093915050565b5f5f825f03610fb057505f905080610cbe565b60405160208152602080820152602060408201528560608201528460808201528360a082015260205f60c08360055afa9250505f519050935093915050565b634e487b715f52806020526024601cfd5b6040518061020001604052806010905b61103160405180606001604052805f81526020015f81526020015f81525090565b8152602001906001900390816110105790505090565b5f5f83601f840112611057575f5ffd5b50813567ffffffffffffffff81111561106e575f5ffd5b602083019150836020828501011115610201575f5ffd5b5f5f5f5f5f60608688031215611099575f5ffd5b853567ffffffffffffffff8111156110af575f5ffd5b6110bb88828901611047565b90965094505060208601359250604086013567ffffffffffffffff8111156110e1575f5ffd5b6110ed88828901611047565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715611135576111356110fe565b60405290565b5f82601f83011261114a575f5ffd5b8135602083015f5f67ffffffffffffffff84111561116a5761116a6110fe565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611199576111996110fe565b6040528381529050808284018710156111b0575f5ffd5b838360208301375f602085830101528094505050505092915050565b5f60c082360312156111dc575f5ffd5b6111e4611112565b82358152602080840135908201526040808401359082015260608084013590820152608083013567ffffffffffffffff81111561121f575f5ffd5b61122b3682860161113b565b60808301525060a083013567ffffffffffffffff81111561124a575f5ffd5b6112563682860161113b565b60a08301525092915050565b5f5f85851115611270575f5ffd5b8386111561127c575f5ffd5b5050820193919092039150565b80356020831015610474575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610474576104746112a6565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f61056182846112e1565b5f60208284031215611313575f5ffd5b5051919050565b5f61132582856112e1565b9283525050602001919050565b6c1131b430b63632b733b2911d1160991b81525f611353600d8301846112e1565b601160f91b81526001019392505050565b634e487b7160e01b5f52601260045260245ffd5b5f8261138657611386611364565b500690565b80820180821115610474576104746112a6565b5f826113ac576113ac611364565b500490565b8082028115828204841417610474576104746112a656feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220706f6c522a2d6d87c0084245a121b056a29e28cfb62ae3e607f31bdf82fa9ecc64736f6c634300081f0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
