{
  "_format": "hh-sol-artifact-1",
  "contractName": "TRC7913P256Verifier",
  "sourceName": "contracts/utils/cryptography/verifiers/TRC7913P256Verifier.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": "0x60808060405234601d57d3601d57d2601d57610b1890816100228239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63024ad31814610024575f80fd5b346100a657d36100a657d26100a65760603660031901126100a65760043567ffffffffffffffff81116100a65761005f9036906004016100aa565b906044359067ffffffffffffffff82116100a6576020926100876100939336906004016100aa565b929091602435916100d8565b6040516001600160e01b03199091168152f35b5f80fd5b9181601f840112156100a65782359167ffffffffffffffff83116100a657602083818601950101116100a657565b939293919091604083148061014e575b6100ff575b506001600160e01b0319949350505050565b826020116100a6578035926040116100a6576020013592806020116100a6578435906040116100a657602061013695013591610159565b610144575f808080806100ed565b62495a6360e31b90565b5060408410156100e8565b91909392841515806105c5575b806105bc575b80610592575b158015610515575b61050c576040519361020085810167ffffffffffffffff8111878210176104f8576040525f5b8181106104e357505060209261032e5f9360c0936101bc6105eb565b868152868882015286604082015289526101d46105eb565b91825286820152600160408201528588019081528761031f6101f46105eb565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681527f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f589820152600160408201526080830190815261031061030161025a865161064a565b926040860193845261026c815161064a565b9061010087019182526102828851865190610683565b96606081019788526102978951835190610683565b60a08201526102a98651835190610683565b8c8201526102ba8851835190610683565b60e08201526102cc8951845190610683565b6101208201526102df8651845190610683565b6101408201526101606102f58951855190610683565b91015251905190610683565b6101808d018181529551610683565b6101a08c015251835190610683565b6101c08a015251905190610683565b6101e087015260405190848252848083015284604083015260608201527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f60808201527bffffffff00000000000000004319055258e8617b0c46353d039cdaae1960a082015260055afa5f5190156104d157807bffffffff00000000000000004319055258e8617b0c46353d039cdaae19809286959495099309905f905f925f945f915b6080831061040d575050505091610407917bffffffff00000000000000004319055258e8617b0c46353d039cdaae1993610a1f565b50061490565b866104af575b8160fe1c600c8260fc1c1617604061042b8287610625565b510151610447575b5060019060021b9160021b920191906103d2565b96919590948261048b5750505061045e8583610625565b5151936001604061047e60206104748a88610625565b5101519886610625565b5101519695945b90610433565b906104a4929161049e6001989987610625565b516107a1565b969195909594610485565b93956104c091956104c693976106a2565b916106a2565b959194909493610413565b634e487b715f5260126020526024601cfd5b6020906104ee61060b565b81890152016101a0565b634e487b7160e01b5f52604160045260245ffd5b50505050505f90565b50600160601b63ffffffff60c01b03197f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8183816003600160601b0363ffffffff60c01b031981838009080908600160601b63ffffffff60c01b031985800914600160601b63ffffffff60c01b031980861090831016161561017a565b507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8821115610172565b5081151561016c565b507bffffffff00000000000000004319055258e8617b0c46353d039cdaae198510610166565b604051906060820182811067ffffffffffffffff8211176104f857604052565b6106136105eb565b905f82525f60208301525f6040830152565b9060108110156106365760051b0190565b634e487b7160e01b5f52603260045260245ffd5b61066a9061065661060b565b5080519060406020820151910151916106a2565b906106736105eb565b9283526020830152604082015290565b61066a9161068f61060b565b50805160406020830151920151926107a1565b929091600160601b63ffffffff60c01b0319838009600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b0319908190819080096003600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319808880096003090894600160601b63ffffffff60c01b031990819083900960040994600160601b63ffffffff60c01b03198087600209600160601b63ffffffff60c01b0319908103908380090895600160601b63ffffffff60c01b031992839081908009600809600160601b63ffffffff60c01b03199081039290918290898203900890090892600160601b63ffffffff60c01b03199182910960020990565b9193905f945f945f94604081015190600163ffffffff60601b0360601b19828009600160601b63ffffffff60c01b031984800992600160601b63ffffffff60c01b03198086860960208501510991600160601b63ffffffff60c01b031983810381808585098a09089351600160601b63ffffffff60c01b03199086900990600160601b63ffffffff60c01b0319908282039082908b090890811585151694855f14610954575050505050600114610859575b50505050565b929650909450919250600160601b63ffffffff60c01b031984800990600160601b63ffffffff60c01b0319908190819080096003600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319808880096003090894600160601b63ffffffff60c01b031990819083900960040994600160601b63ffffffff60c01b03198087600209600160601b63ffffffff60c01b0319908103908380090895600160601b63ffffffff60c01b031992839081908009600809600160601b63ffffffff60c01b03199081039290918290898203900890090892600160601b63ffffffff60c01b031991829109600209905f808080610853565b96999a5096509650985098505050600163ffffffff60601b0360601b1983800991600160601b63ffffffff60c01b03199083900991600160601b63ffffffff60c01b031990840991600160601b63ffffffff60c01b03198082600209600160601b63ffffffff60c01b03199081039085810381868009080897600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908a8203900890090893600160601b63ffffffff60c01b0319928391099009905f808080610853565b92918015610aca575f60c060209260405190848252848083015284604083015260608201527fffffffff00000001000000000000000000000000fffffffffffffffffffffffd6080820152600163ffffffff60601b0360601b1960a082015260055afa905f5191156104d157600160601b63ffffffff60c01b031982800993600160601b63ffffffff60c01b03199085900993600160601b63ffffffff60c01b031992839109900990565b505090505f905f9056fea36474726f6e58221220afcfb2f277bd4e2e697367db312dee4c308a156aec91dc9a41d7c721f3a90fa36c6578706572696d656e74616cf564736f6c634300081a0041",
  "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c63024ad31814610024575f80fd5b346100a657d36100a657d26100a65760603660031901126100a65760043567ffffffffffffffff81116100a65761005f9036906004016100aa565b906044359067ffffffffffffffff82116100a6576020926100876100939336906004016100aa565b929091602435916100d8565b6040516001600160e01b03199091168152f35b5f80fd5b9181601f840112156100a65782359167ffffffffffffffff83116100a657602083818601950101116100a657565b939293919091604083148061014e575b6100ff575b506001600160e01b0319949350505050565b826020116100a6578035926040116100a6576020013592806020116100a6578435906040116100a657602061013695013591610159565b610144575f808080806100ed565b62495a6360e31b90565b5060408410156100e8565b91909392841515806105c5575b806105bc575b80610592575b158015610515575b61050c576040519361020085810167ffffffffffffffff8111878210176104f8576040525f5b8181106104e357505060209261032e5f9360c0936101bc6105eb565b868152868882015286604082015289526101d46105eb565b91825286820152600160408201528588019081528761031f6101f46105eb565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681527f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f589820152600160408201526080830190815261031061030161025a865161064a565b926040860193845261026c815161064a565b9061010087019182526102828851865190610683565b96606081019788526102978951835190610683565b60a08201526102a98651835190610683565b8c8201526102ba8851835190610683565b60e08201526102cc8951845190610683565b6101208201526102df8651845190610683565b6101408201526101606102f58951855190610683565b91015251905190610683565b6101808d018181529551610683565b6101a08c015251835190610683565b6101c08a015251905190610683565b6101e087015260405190848252848083015284604083015260608201527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f60808201527bffffffff00000000000000004319055258e8617b0c46353d039cdaae1960a082015260055afa5f5190156104d157807bffffffff00000000000000004319055258e8617b0c46353d039cdaae19809286959495099309905f905f925f945f915b6080831061040d575050505091610407917bffffffff00000000000000004319055258e8617b0c46353d039cdaae1993610a1f565b50061490565b866104af575b8160fe1c600c8260fc1c1617604061042b8287610625565b510151610447575b5060019060021b9160021b920191906103d2565b96919590948261048b5750505061045e8583610625565b5151936001604061047e60206104748a88610625565b5101519886610625565b5101519695945b90610433565b906104a4929161049e6001989987610625565b516107a1565b969195909594610485565b93956104c091956104c693976106a2565b916106a2565b959194909493610413565b634e487b715f5260126020526024601cfd5b6020906104ee61060b565b81890152016101a0565b634e487b7160e01b5f52604160045260245ffd5b50505050505f90565b50600160601b63ffffffff60c01b03197f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8183816003600160601b0363ffffffff60c01b031981838009080908600160601b63ffffffff60c01b031985800914600160601b63ffffffff60c01b031980861090831016161561017a565b507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8821115610172565b5081151561016c565b507bffffffff00000000000000004319055258e8617b0c46353d039cdaae198510610166565b604051906060820182811067ffffffffffffffff8211176104f857604052565b6106136105eb565b905f82525f60208301525f6040830152565b9060108110156106365760051b0190565b634e487b7160e01b5f52603260045260245ffd5b61066a9061065661060b565b5080519060406020820151910151916106a2565b906106736105eb565b9283526020830152604082015290565b61066a9161068f61060b565b50805160406020830151920151926107a1565b929091600160601b63ffffffff60c01b0319838009600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b0319908190819080096003600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319808880096003090894600160601b63ffffffff60c01b031990819083900960040994600160601b63ffffffff60c01b03198087600209600160601b63ffffffff60c01b0319908103908380090895600160601b63ffffffff60c01b031992839081908009600809600160601b63ffffffff60c01b03199081039290918290898203900890090892600160601b63ffffffff60c01b03199182910960020990565b9193905f945f945f94604081015190600163ffffffff60601b0360601b19828009600160601b63ffffffff60c01b031984800992600160601b63ffffffff60c01b03198086860960208501510991600160601b63ffffffff60c01b031983810381808585098a09089351600160601b63ffffffff60c01b03199086900990600160601b63ffffffff60c01b0319908282039082908b090890811585151694855f14610954575050505050600114610859575b50505050565b929650909450919250600160601b63ffffffff60c01b031984800990600160601b63ffffffff60c01b0319908190819080096003600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319808880096003090894600160601b63ffffffff60c01b031990819083900960040994600160601b63ffffffff60c01b03198087600209600160601b63ffffffff60c01b0319908103908380090895600160601b63ffffffff60c01b031992839081908009600809600160601b63ffffffff60c01b03199081039290918290898203900890090892600160601b63ffffffff60c01b031991829109600209905f808080610853565b96999a5096509650985098505050600163ffffffff60601b0360601b1983800991600160601b63ffffffff60c01b03199083900991600160601b63ffffffff60c01b031990840991600160601b63ffffffff60c01b03198082600209600160601b63ffffffff60c01b03199081039085810381868009080897600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908a8203900890090893600160601b63ffffffff60c01b0319928391099009905f808080610853565b92918015610aca575f60c060209260405190848252848083015284604083015260608201527fffffffff00000001000000000000000000000000fffffffffffffffffffffffd6080820152600163ffffffff60601b0360601b1960a082015260055afa905f5191156104d157600160601b63ffffffff60c01b031982800993600160601b63ffffffff60c01b03199085900993600160601b63ffffffff60c01b031992839109900990565b505090505f905f9056fea36474726f6e58221220afcfb2f277bd4e2e697367db312dee4c308a156aec91dc9a41d7c721f3a90fa36c6578706572696d656e74616cf564736f6c634300081a0041",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
