@excubiae/contracts
Version:
1 lines • 23.7 kB
JSON
{"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":"0x6080604052348015600e575f5ffd5b506106fa8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063b41a4b191161004d578063b41a4b19146100c0578063e2b24085146100d5578063f99f0238146100e8575f5ffd5b806305023c3114610073578063158ef93e146100aa5780638129fc1c146100b6575b5f5ffd5b61009561008136600461043a565b60016020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b5f546100959060ff1681565b6100be610131565b005b6100c861013b565b6040516100a19190610451565b6100956100e33660046104c8565b61014a565b5f5461010c90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b61013961015e565b565b6060610145610243565b905090565b5f61015684848461024e565b949350505050565b610166610385565b5f61016f610243565b90505f5f828060200190518101906101879190610575565b5f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff85160217815591935091505b815181101561023d576001805f8484815181106101ef576101ef610671565b60209081029190910181015182528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016101d0565b50505050565b6060610145306103ed565b5f5f61025c8385018561043a565b5f8181526001602052604090205490915060ff166102a6576040517fbddaf40400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f4352409a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301526024820184905261010090920490911690634352409a90604401602060405180830381865afa158015610320573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610344919061069e565b61037a576040517f37ed869800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b5f5460ff16156103c1576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f6020828403121561044a575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146104c5575f5ffd5b50565b5f5f5f604084860312156104da575f5ffd5b83356104e5816104a4565b9250602084013567ffffffffffffffff811115610500575f5ffd5b8401601f81018613610510575f5ffd5b803567ffffffffffffffff811115610526575f5ffd5b866020828401011115610537575f5ffd5b939660209190910195509293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f60408385031215610586575f5ffd5b8251610591816104a4565b602084015190925067ffffffffffffffff8111156105ad575f5ffd5b8301601f810185136105bd575f5ffd5b805167ffffffffffffffff8111156105d7576105d7610548565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811067ffffffffffffffff8211171561062257610622610548565b60405291825260208184018101929081018884111561063f575f5ffd5b6020850194505b8385101561066257845180825260209586019590935001610646565b50809450505050509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156106ae575f5ffd5b815180151581146106bd575f5ffd5b939250505056fea2646970667358221220ea88582347253a99340de6985664e70d82a01bd6bb841d63a1cd3a25c7b6efb064736f6c634300081c0033","sourceMap":"273:1601:29:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063b41a4b191161004d578063b41a4b19146100c0578063e2b24085146100d5578063f99f0238146100e8575f5ffd5b806305023c3114610073578063158ef93e146100aa5780638129fc1c146100b6575b5f5ffd5b61009561008136600461043a565b60016020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b5f546100959060ff1681565b6100be610131565b005b6100c861013b565b6040516100a19190610451565b6100956100e33660046104c8565b61014a565b5f5461010c90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b61013961015e565b565b6060610145610243565b905090565b5f61015684848461024e565b949350505050565b610166610385565b5f61016f610243565b90505f5f828060200190518101906101879190610575565b5f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff85160217815591935091505b815181101561023d576001805f8484815181106101ef576101ef610671565b60209081029190910181015182528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016101d0565b50505050565b6060610145306103ed565b5f5f61025c8385018561043a565b5f8181526001602052604090205490915060ff166102a6576040517fbddaf40400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f4352409a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301526024820184905261010090920490911690634352409a90604401602060405180830381865afa158015610320573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610344919061069e565b61037a576040517f37ed869800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001949350505050565b5f5460ff16156103c1576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f6020828403121561044a575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146104c5575f5ffd5b50565b5f5f5f604084860312156104da575f5ffd5b83356104e5816104a4565b9250602084013567ffffffffffffffff811115610500575f5ffd5b8401601f81018613610510575f5ffd5b803567ffffffffffffffff811115610526575f5ffd5b866020828401011115610537575f5ffd5b939660209190910195509293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f60408385031215610586575f5ffd5b8251610591816104a4565b602084015190925067ffffffffffffffff8111156105ad575f5ffd5b8301601f810185136105bd575f5ffd5b805167ffffffffffffffff8111156105d7576105d7610548565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811067ffffffffffffffff8211171561062257610622610548565b60405291825260208184018101929081018884111561063f575f5ffd5b6020850194505b8385101561066257845180825260209586019590935001610646565b50809450505050509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156106ae575f5ffd5b815180151581146106bd575f5ffd5b939250505056fea2646970667358221220ea88582347253a99340de6985664e70d82a01bd6bb841d63a1cd3a25c7b6efb064736f6c634300081c0033","sourceMap":"273:1601:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;465:45;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;364:14:133;;357:22;339:41;;327:2;312:18;465:45:29;;;;;;;;556:23:63;;;;;;;;;754:61;;;:::i;:::-;;1047:122;;;:::i;:::-;;;;;;;:::i;861:152:1:-;;;;;;:::i;:::-;;:::i;366:17:29:-;;;;;;;;;;;;;;;1946:42:133;1934:55;;;1916:74;;1904:2;1889:18;366:17:29;1756:240:133;754:61:63;795:13;:11;:13::i;:::-;754:61::o;1047:122::-;1098:26;1143:19;:17;:19::i;:::-;1136:26;;1047:122;:::o;861:152:1:-;950:12;981:25;988:7;997:8;;981:6;:25::i;:::-;974:32;861:152;-1:-1:-1;;;;861:152:1:o;655:416:29:-;706:19;:17;:19::i;:::-;736:17;756:19;:17;:19::i;:::-;736:39;;786:13;801:31;847:4;836:38;;;;;;;;;;;;:::i;:::-;885:4;:19;;;;;;;;;;;;;;-1:-1:-1;785:89:29;-1:-1:-1;949:116:29;973:14;:21;969:1;:25;949:116;;;1050:4;1015:13;:32;1029:14;1044:1;1029:17;;;;;;;;:::i;:::-;;;;;;;;;;;;1015:32;;;;;;;;;;-1:-1:-1;1015:32:29;:39;;;;;;;;;;;;;-1:-1:-1;996:3:29;949:116;;;;696:375;;;655:416::o;1742:147:63:-;1802:26;1847:35;1876:4;1847:20;:35::i;1321:551:29:-;1411:4;1506:11;1520:31;;;;1531:8;1520:31;:::i;:::-;1617:18;;;;:13;:18;;;;;;1506:45;;-1:-1:-1;1617:18:29;;1612:74;;1658:17;;;;;;;;;;;;;;1612:74;1754:4;;:32;;;;;:4;3942:55:133;;;1754:32:29;;;3924:74:133;4014:18;;;4007:34;;;1754:4:29;;;;;;;;:18;;3897::133;;1754:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1749:95;;1809:24;;;;;;;;;;;;;;1749:95;-1:-1:-1;1861:4:29;;1321:551;-1:-1:-1;;;;1321:551:29:o;1388:129:63:-;1442:11;;;;1438:44;;;1462:20;;;;;;;;;;;;;;1438:44;1492:11;:18;;;;1506:4;1492:18;;;1388: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\":\"prague\",\"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\":\"0xd5a0aa62b6c617581fad10a727f4961c9f567983c58fea0c00cd9599712f5e8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7572f9ace9d914d465401d506ecf9aa360e5458eae4a15fc9f9be1da7a925ab9\",\"dweb:/ipfs/QmX5cvUd6Vr7Jy1cYLcMtGfFjs4RTfgHQ4JSBnUp9CMJSs\"]},\"contracts/extensions/hats/HatsChecker.sol\":{\"keccak256\":\"0xeca1bc484babad0f0c83d17525af6992808d1d526864b2b00fc87e93ed2ac1cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42d93741907d99ba5b040bba2ddc614f27b73bdbeafc9b9f2ae9327bbe6e409b\",\"dweb:/ipfs/QmUtqP9ffPGdfAFiQeSBfXra5VgHW7ozDiS8Fg7UebNoyp\"]},\"contracts/extensions/hats/IHats.sol\":{\"keccak256\":\"0x49ca009b43210639e10a45f56507ec9605f38a6e3ac0debc4c80e2157fa7839e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://023ee22f75c0a99a840d6de2723664487c40aada98002cce162e87244884c290\",\"dweb:/ipfs/QmWc2BscbxTJJfMSYetL1MAyMhBRfBDZ84C3zvrPVir7nk\"]},\"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\":\"0x6453f61944f6a5e19d23c930abae166f01bc1613506fd0204e8c541e611b8164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520e2bdb7935ac9181d7474a61129151bb2096513e62793ff1c5220827662720\",\"dweb:/ipfs/QmXCDDZfJjX9EaK6QtwDE9FHK7z6ZsG6Ebgrt4CFxxL1wU\"]},\"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":"prague","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0xd5a0aa62b6c617581fad10a727f4961c9f567983c58fea0c00cd9599712f5e8c","urls":["bzz-raw://7572f9ace9d914d465401d506ecf9aa360e5458eae4a15fc9f9be1da7a925ab9","dweb:/ipfs/QmX5cvUd6Vr7Jy1cYLcMtGfFjs4RTfgHQ4JSBnUp9CMJSs"],"license":"MIT"},"contracts/extensions/hats/HatsChecker.sol":{"keccak256":"0xeca1bc484babad0f0c83d17525af6992808d1d526864b2b00fc87e93ed2ac1cc","urls":["bzz-raw://42d93741907d99ba5b040bba2ddc614f27b73bdbeafc9b9f2ae9327bbe6e409b","dweb:/ipfs/QmUtqP9ffPGdfAFiQeSBfXra5VgHW7ozDiS8Fg7UebNoyp"],"license":"MIT"},"contracts/extensions/hats/IHats.sol":{"keccak256":"0x49ca009b43210639e10a45f56507ec9605f38a6e3ac0debc4c80e2157fa7839e","urls":["bzz-raw://023ee22f75c0a99a840d6de2723664487c40aada98002cce162e87244884c290","dweb:/ipfs/QmWc2BscbxTJJfMSYetL1MAyMhBRfBDZ84C3zvrPVir7nk"],"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":"0x6453f61944f6a5e19d23c930abae166f01bc1613506fd0204e8c541e611b8164","urls":["bzz-raw://520e2bdb7935ac9181d7474a61129151bb2096513e62793ff1c5220827662720","dweb:/ipfs/QmXCDDZfJjX9EaK6QtwDE9FHK7z6ZsG6Ebgrt4CFxxL1wU"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":29}