UNPKG

@excubiae/contracts

Version:
1 lines 23.7 kB
{"abi":[{"type":"function","name":"check","inputs":[{"name":"subject","type":"address","internalType":"address"},{"name":"evidence","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"checked","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"criterionHats","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getAppendedBytes","inputs":[],"outputs":[{"name":"appendedBytes","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"hats","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IHats"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"NotCriterionHat","inputs":[]},{"type":"error","name":"NotWearingCriterionHat","inputs":[]}],"bytecode":{"object":"0x6080604052348015600e575f5ffd5b506106fa8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063b41a4b191161004d578063b41a4b19146100c0578063e2b24085146100d5578063f99f0238146100e8575f5ffd5b806305023c3114610073578063158ef93e146100aa5780638129fc1c146100b6575b5f5ffd5b61009561008136600461043a565b60016020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b5f546100959060ff1681565b6100be610131565b005b6100c861013b565b6040516100a19190610451565b6100956100e33660046104c8565b61014a565b5f5461010c90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b61013961015e565b565b6060610145610243565b905090565b5f61015684848461024e565b949350505050565b610166610385565b5f61016f610243565b90505f5f828060200190518101906101879190610575565b5f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff85160217815591935091505b815181101561023d576001805f8484815181106101ef576101ef610671565b60209081029190910181015182528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016101d0565b50505050565b6060610145306103ed565b5f5f61025c8385018561043a565b5f8181526001602052604090205490915060ff166102a6576040517fbddaf40400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f4352409a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301526024820184905261010090920490911690634352409a90604401602060405180830381865afa158015610320573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610344919061069e565b61037a576040517f37ed869800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b5f5460ff16156103c1576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f6020828403121561044a575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146104c5575f5ffd5b50565b5f5f5f604084860312156104da575f5ffd5b83356104e5816104a4565b9250602084013567ffffffffffffffff811115610500575f5ffd5b8401601f81018613610510575f5ffd5b803567ffffffffffffffff811115610526575f5ffd5b866020828401011115610537575f5ffd5b939660209190910195509293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f60408385031215610586575f5ffd5b8251610591816104a4565b602084015190925067ffffffffffffffff8111156105ad575f5ffd5b8301601f810185136105bd575f5ffd5b805167ffffffffffffffff8111156105d7576105d7610548565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811067ffffffffffffffff8211171561062257610622610548565b60405291825260208184018101929081018884111561063f575f5ffd5b6020850194505b8385101561066257845180825260209586019590935001610646565b50809450505050509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156106ae575f5ffd5b815180151581146106bd575f5ffd5b939250505056fea264697066735822122015c3b01dd3037521ef2edc2ea697718b1af3686f4d53345920c8c64684670ab164736f6c634300081c0033","sourceMap":"269:1601:29:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063b41a4b191161004d578063b41a4b19146100c0578063e2b24085146100d5578063f99f0238146100e8575f5ffd5b806305023c3114610073578063158ef93e146100aa5780638129fc1c146100b6575b5f5ffd5b61009561008136600461043a565b60016020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b5f546100959060ff1681565b6100be610131565b005b6100c861013b565b6040516100a19190610451565b6100956100e33660046104c8565b61014a565b5f5461010c90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b61013961015e565b565b6060610145610243565b905090565b5f61015684848461024e565b949350505050565b610166610385565b5f61016f610243565b90505f5f828060200190518101906101879190610575565b5f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff85160217815591935091505b815181101561023d576001805f8484815181106101ef576101ef610671565b60209081029190910181015182528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016101d0565b50505050565b6060610145306103ed565b5f5f61025c8385018561043a565b5f8181526001602052604090205490915060ff166102a6576040517fbddaf40400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f4352409a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301526024820184905261010090920490911690634352409a90604401602060405180830381865afa158015610320573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610344919061069e565b61037a576040517f37ed869800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b5f5460ff16156103c1576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f6020828403121561044a575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146104c5575f5ffd5b50565b5f5f5f604084860312156104da575f5ffd5b83356104e5816104a4565b9250602084013567ffffffffffffffff811115610500575f5ffd5b8401601f81018613610510575f5ffd5b803567ffffffffffffffff811115610526575f5ffd5b866020828401011115610537575f5ffd5b939660209190910195509293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f60408385031215610586575f5ffd5b8251610591816104a4565b602084015190925067ffffffffffffffff8111156105ad575f5ffd5b8301601f810185136105bd575f5ffd5b805167ffffffffffffffff8111156105d7576105d7610548565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811067ffffffffffffffff8211171561062257610622610548565b60405291825260208184018101929081018884111561063f575f5ffd5b6020850194505b8385101561066257845180825260209586019590935001610646565b50809450505050509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156106ae575f5ffd5b815180151581146106bd575f5ffd5b939250505056fea264697066735822122015c3b01dd3037521ef2edc2ea697718b1af3686f4d53345920c8c64684670ab164736f6c634300081c0033","sourceMap":"269:1601:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;461:45;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;364:14:133;;357:22;339:41;;327:2;312:18;461:45:29;;;;;;;;552:23:63;;;;;;;;;750:61;;;:::i;:::-;;1043:122;;;:::i;:::-;;;;;;;:::i;857:152:1:-;;;;;;:::i;:::-;;:::i;362:17:29:-;;;;;;;;;;;;;;;1946:42:133;1934:55;;;1916:74;;1904:2;1889:18;362:17:29;1756:240:133;750:61:63;791:13;:11;:13::i;:::-;750:61::o;1043:122::-;1094:26;1139:19;:17;:19::i;:::-;1132:26;;1043:122;:::o;857:152:1:-;946:12;977:25;984:7;993:8;;977:6;:25::i;:::-;970:32;857:152;-1:-1:-1;;;;857:152:1:o;651:416:29:-;702:19;:17;:19::i;:::-;732:17;752:19;:17;:19::i;:::-;732:39;;782:13;797:31;843:4;832:38;;;;;;;;;;;;:::i;:::-;881:4;:19;;;;;;;;;;;;;;-1:-1:-1;781:89:29;-1:-1:-1;945:116:29;969:14;:21;965:1;:25;945:116;;;1046:4;1011:13;:32;1025:14;1040:1;1025:17;;;;;;;;:::i;:::-;;;;;;;;;;;;1011:32;;;;;;;;;;-1:-1:-1;1011:32:29;:39;;;;;;;;;;;;;-1:-1:-1;992:3:29;945:116;;;;692:375;;;651:416::o;1738:147:63:-;1798:26;1843:35;1872:4;1843:20;:35::i;1317:551:29:-;1407:4;1502:11;1516:31;;;;1527:8;1516:31;:::i;:::-;1613:18;;;;:13;:18;;;;;;1502:45;;-1:-1:-1;1613:18:29;;1608:74;;1654:17;;;;;;;;;;;;;;1608:74;1750:4;;:32;;;;;:4;3942:55:133;;;1750:32:29;;;3924:74:133;4014:18;;;4007:34;;;1750:4:29;;;;;;;;:18;;3897::133;;1750:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1745:95;;1805:24;;;;;;;;;;;;;;1745:95;-1:-1:-1;1857:4:29;;1317:551;-1:-1:-1;;;;1317:551:29:o;1384:129:63:-;1438:11;;;;1434:44;;;1458:20;;;;;;;;;;;;;;1434:44;1488:11;:18;;;;1502:4;1488:18;;;1384:129::o;37363:452:132:-;37534:4;37528:11;37569:12;37583:32;37587:21;;37583:32;37565:51;37552:65;;;37713:4;37696:22;;;;37610:4;;37673:15;;37599:8;37651:68;37772:4;37766;37762:15;37755:4;37749:11;37745:33;37739:4;37732:47;37363:452;;;:::o;14:180:133:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:133;;14:180;-1:-1:-1;14:180:133:o;391:475::-;538:2;527:9;520:21;501:4;570:6;564:13;613:6;608:2;597:9;593:18;586:34;672:6;667:2;659:6;655:15;650:2;639:9;635:18;629:50;728:1;723:2;714:6;703:9;699:22;695:31;688:42;857:2;787:66;782:2;774:6;770:15;766:88;755:9;751:104;747:113;739:121;;;391:475;;;;:::o;871:154::-;957:42;950:5;946:54;939:5;936:65;926:93;;1015:1;1012;1005:12;926:93;871:154;:::o;1030:721::-;1109:6;1117;1125;1178:2;1166:9;1157:7;1153:23;1149:32;1146:52;;;1194:1;1191;1184:12;1146:52;1233:9;1220:23;1252:31;1277:5;1252:31;:::i;:::-;1302:5;-1:-1:-1;1358:2:133;1343:18;;1330:32;1385:18;1374:30;;1371:50;;;1417:1;1414;1407:12;1371:50;1440:22;;1493:4;1485:13;;1481:27;-1:-1:-1;1471:55:133;;1522:1;1519;1512:12;1471:55;1562:2;1549:16;1588:18;1580:6;1577:30;1574:50;;;1620:1;1617;1610:12;1574:50;1665:7;1660:2;1651:6;1647:2;1643:15;1639:24;1636:37;1633:57;;;1686:1;1683;1676:12;1633:57;1030:721;;1717:2;1709:11;;;;;-1:-1:-1;1739:6:133;;-1:-1:-1;;;1030:721:133:o;2001:184::-;2053:77;2050:1;2043:88;2150:4;2147:1;2140:15;2174:4;2171:1;2164:15;2190:1366;2302:6;2310;2363:2;2351:9;2342:7;2338:23;2334:32;2331:52;;;2379:1;2376;2369:12;2331:52;2411:9;2405:16;2430:31;2455:5;2430:31;:::i;:::-;2529:2;2514:18;;2508:25;2480:5;;-1:-1:-1;2556:18:133;2545:30;;2542:50;;;2588:1;2585;2578:12;2542:50;2611:22;;2664:4;2656:13;;2652:27;-1:-1:-1;2642:55:133;;2693:1;2690;2683:12;2642:55;2726:2;2720:9;2752:18;2744:6;2741:30;2738:56;;;2774:18;;:::i;:::-;2820:6;2817:1;2813:14;2856:2;2850:9;2915:66;2910:2;2906;2902:11;2898:84;2890:6;2886:97;3049:6;3037:10;3034:22;3013:18;3001:10;2998:34;2995:62;2992:88;;;3060:18;;:::i;:::-;3096:2;3089:22;3146;;;3196:2;3226:11;;;3222:20;;;3146:22;3184:15;;3254:19;;;3251:39;;;3286:1;3283;3276:12;3251:39;3318:2;3314;3310:11;3299:22;;3330:195;3346:6;3341:3;3338:15;3330:195;;;3440:10;;3463:20;;;3512:2;3363:12;;;;3440:10;;-1:-1:-1;3503:12:133;3330:195;;;3334:3;3544:6;3534:16;;;;;;2190:1366;;;;;:::o;3561:184::-;3613:77;3610:1;3603:88;3710:4;3707:1;3700:15;3734:4;3731:1;3724:15;4052:277;4119:6;4172:2;4160:9;4151:7;4147:23;4143:32;4140:52;;;4188:1;4185;4178:12;4140:52;4220:9;4214:16;4273:5;4266:13;4259:21;4252:5;4249:32;4239:60;;4295:1;4292;4285:12;4239:60;4318:5;4052:277;-1:-1:-1;;;4052:277:133:o","linkReferences":{}},"methodIdentifiers":{"check(address,bytes)":"e2b24085","criterionHats(uint256)":"05023c31","getAppendedBytes()":"b41a4b19","hats()":"f99f0238","initialize()":"8129fc1c","initialized()":"158ef93e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotCriterionHat\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWearingCriterionHat\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"criterionHats\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAppendedBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"appendedBytes\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hats\",\"outputs\":[{\"internalType\":\"contract IHats\",\"name\":\"\",\"type\":\"address\"}],\"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\"}],\"devdoc\":{\"details\":\"Extends BaseChecker to implement Hats validation logic.\",\"kind\":\"dev\",\"methods\":{\"check(address,bytes)\":{\"details\":\"External view function that calls the `_check` method, allowing derived contracts to implement custom validation logic.\",\"params\":{\"evidence\":\"Custom validation data.\",\"subject\":\"The address to validate.\"},\"returns\":{\"checked\":\"Boolean indicating whether the validation passed.\"}},\"getAppendedBytes()\":{\"details\":\"Leverages `LibClone` to extract arguments from the clone's runtime bytecode.\",\"returns\":{\"appendedBytes\":\"The appended bytes extracted from the clone.\"}},\"initialize()\":{\"details\":\"Calls the internal `_initialize` function to set up the clone. Reverts if the clone is already initialized.\"}},\"title\":\"HatsChecker\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyInitialized()\":[{\"notice\":\"Error thrown when the clone is already initialized.\"}],\"NotCriterionHat()\":[{\"notice\":\"Custom errors\"}]},\"kind\":\"user\",\"methods\":{\"check(address,bytes)\":{\"notice\":\"Validates a subject's evidence.\"},\"criterionHats(uint256)\":{\"notice\":\"Tracks hats that users must wear to be eligible to enforce\"},\"getAppendedBytes()\":{\"notice\":\"Retrieves appended arguments from the clone.\"},\"hats()\":{\"notice\":\"The Hats Protocol contract address\"},\"initialize()\":{\"notice\":\"Initializes the clone.\"},\"initialized()\":{\"notice\":\"Tracks whether the clone has been initialized.\"}},\"notice\":\"Hats validator.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/extensions/hats/HatsChecker.sol\":\"HatsChecker\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@semaphore-protocol/=node_modules/@semaphore-protocol/\",\":@solady/=node_modules/solady/\",\":@zk-kit/=node_modules/@zk-kit/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=node_modules/forge-std/\",\":hardhat/=node_modules/hardhat/\",\":poseidon-solidity/=node_modules/poseidon-solidity/\",\":solady/=node_modules/solady/\"]},\"sources\":{\"contracts/checker/BaseChecker.sol\":{\"keccak256\":\"0x7cd56cddc8264c5be46692a179221a69b9e20eb977dcb6df82e62f55aa945411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ca0724296c4a104fbd0f7af3c297b857093fb771f418c7c198b721200d60d56\",\"dweb:/ipfs/QmW7chfNoFQJY2NA21xGB8bP5MZ2ajjMuapqp6pMRC52u3\"]},\"contracts/extensions/hats/HatsChecker.sol\":{\"keccak256\":\"0x9e967b404c2f793c822775e9477f4efcc2426875343de25856b5870246e41129\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db0baca09e0200c2104dd9a524a5f89e6ef886588e2ae94d93854c59f3d23a8b\",\"dweb:/ipfs/QmPqtYpojkxik4XNW6wWcfDTT1wcpwmU5fc34NxS6FFL3b\"]},\"contracts/extensions/hats/IHats.sol\":{\"keccak256\":\"0x1150a7016f54df47f8a0e19ceb74dfbe05c3be72aa391e9f6ff0f1fa6487967e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5c30bebc7ee680dcf87309640153e1cbd93fefd80da4584e360824feb3da38d\",\"dweb:/ipfs/QmRJ5vP65M3t7uqCj156b4xVkedLYrQ1iw4S6Gvj38oJBZ\"]},\"contracts/interfaces/IBaseChecker.sol\":{\"keccak256\":\"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1\",\"dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB\"]},\"contracts/interfaces/IClone.sol\":{\"keccak256\":\"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef\",\"dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff\"]},\"contracts/proxy/Clone.sol\":{\"keccak256\":\"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef\",\"dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5\",\"dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"NotCriterionHat"},{"inputs":[],"type":"error","name":"NotWearingCriterionHat"},{"inputs":[{"internalType":"address","name":"subject","type":"address"},{"internalType":"bytes","name":"evidence","type":"bytes"}],"stateMutability":"view","type":"function","name":"check","outputs":[{"internalType":"bool","name":"checked","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"criterionHats","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAppendedBytes","outputs":[{"internalType":"bytes","name":"appendedBytes","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"hats","outputs":[{"internalType":"contract IHats","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"check(address,bytes)":{"details":"External view function that calls the `_check` method, allowing derived contracts to implement custom validation logic.","params":{"evidence":"Custom validation data.","subject":"The address to validate."},"returns":{"checked":"Boolean indicating whether the validation passed."}},"getAppendedBytes()":{"details":"Leverages `LibClone` to extract arguments from the clone's runtime bytecode.","returns":{"appendedBytes":"The appended bytes extracted from the clone."}},"initialize()":{"details":"Calls the internal `_initialize` function to set up the clone. Reverts if the clone is already initialized."}},"version":1},"userdoc":{"kind":"user","methods":{"check(address,bytes)":{"notice":"Validates a subject's evidence."},"criterionHats(uint256)":{"notice":"Tracks hats that users must wear to be eligible to enforce"},"getAppendedBytes()":{"notice":"Retrieves appended arguments from the clone."},"hats()":{"notice":"The Hats Protocol contract address"},"initialize()":{"notice":"Initializes the clone."},"initialized()":{"notice":"Tracks whether the clone has been initialized."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@semaphore-protocol/=node_modules/@semaphore-protocol/","@solady/=node_modules/solady/","@zk-kit/=node_modules/@zk-kit/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=node_modules/forge-std/","hardhat/=node_modules/hardhat/","poseidon-solidity/=node_modules/poseidon-solidity/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/extensions/hats/HatsChecker.sol":"HatsChecker"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0x7cd56cddc8264c5be46692a179221a69b9e20eb977dcb6df82e62f55aa945411","urls":["bzz-raw://6ca0724296c4a104fbd0f7af3c297b857093fb771f418c7c198b721200d60d56","dweb:/ipfs/QmW7chfNoFQJY2NA21xGB8bP5MZ2ajjMuapqp6pMRC52u3"],"license":"MIT"},"contracts/extensions/hats/HatsChecker.sol":{"keccak256":"0x9e967b404c2f793c822775e9477f4efcc2426875343de25856b5870246e41129","urls":["bzz-raw://db0baca09e0200c2104dd9a524a5f89e6ef886588e2ae94d93854c59f3d23a8b","dweb:/ipfs/QmPqtYpojkxik4XNW6wWcfDTT1wcpwmU5fc34NxS6FFL3b"],"license":"MIT"},"contracts/extensions/hats/IHats.sol":{"keccak256":"0x1150a7016f54df47f8a0e19ceb74dfbe05c3be72aa391e9f6ff0f1fa6487967e","urls":["bzz-raw://a5c30bebc7ee680dcf87309640153e1cbd93fefd80da4584e360824feb3da38d","dweb:/ipfs/QmRJ5vP65M3t7uqCj156b4xVkedLYrQ1iw4S6Gvj38oJBZ"],"license":"MIT"},"contracts/interfaces/IBaseChecker.sol":{"keccak256":"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a","urls":["bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1","dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB"],"license":"MIT"},"contracts/interfaces/IClone.sol":{"keccak256":"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7","urls":["bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef","dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff"],"license":"MIT"},"contracts/proxy/Clone.sol":{"keccak256":"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99","urls":["bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef","dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":29}