@excubiae/contracts
Version:
1 lines • 24.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":"getAppendedBytes","inputs":[],"outputs":[{"name":"appendedBytes","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"groupId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"semaphore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISemaphore"}],"stateMutability":"view"},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"InvalidGroup","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidProver","inputs":[]}],"bytecode":{"object":"0x6080604052348015600e575f5ffd5b506107178061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063a0f44c921161004d578063a0f44c92146100e7578063b41a4b19146100fe578063e2b2408514610113575f5ffd5b8063158ef93e146100735780637b5d2534146100945780638129fc1c146100dd575b5f5ffd5b5f5461007f9060ff1681565b60405190151581526020015b60405180910390f35b5f546100b890610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6100e5610126565b005b6100f060015481565b60405190815260200161008b565b610106610130565b60405161008b9190610415565b61007f61012136600461048c565b61013f565b61012e610153565b565b606061013a6101ce565b905090565b5f61014b8484846101d9565b949350505050565b61015b610360565b5f6101646101ce565b90505f5f8280602001905181019061017c919061050c565b5f805473ffffffffffffffffffffffffffffffffffffffff909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90931692909217909155600155505050565b606061013a306103c8565b5f5f6101e7838501856105b2565b608081015160015491925090811461022b576040517fdb140e4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082015173ffffffffffffffffffffffffffffffffffffffff80821690881614610282576040517f5945f53b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546001546040517f456f418800000000000000000000000000000000000000000000000000000000815261010090920473ffffffffffffffffffffffffffffffffffffffff169163456f4188916102de91879060040161064d565b602060405180830381865afa1580156102f9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031d91906106bb565b610353576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019695505050505050565b5f5460ff161561039c576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610489575f5ffd5b50565b5f5f5f6040848603121561049e575f5ffd5b83356104a981610468565b9250602084013567ffffffffffffffff8111156104c4575f5ffd5b8401601f810186136104d4575f5ffd5b803567ffffffffffffffff8111156104ea575f5ffd5b8660208284010111156104fb575f5ffd5b939660209190910195509293505050565b5f5f6040838503121561051d575f5ffd5b825161052881610468565b6020939093015192949293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff8111828210171561058857610588610538565b60405290565b604051610100810167ffffffffffffffff8111828210171561058857610588610538565b5f6101a08284031280156105c4575f5ffd5b506105cd610565565b823581526020808401359082015260408084013590820152606080840135908201526080808401359082015260bf83018413610607575f5ffd5b61060f61058e565b806101a0850186811115610621575f5ffd5b60a086015b8181101561063e578035845260209384019301610626565b505060a0830152509392505050565b5f6101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015f5b60088110156106b1578251825260209283019290910190600101610692565b5050509392505050565b5f602082840312156106cb575f5ffd5b815180151581146106da575f5ffd5b939250505056fea264697066735822122099ff15dedc196d9035f215b06e5339a8b7497a67cc2728bdcead537b8f0d1add64736f6c634300081c0033","sourceMap":"530:2160:39:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063a0f44c921161004d578063a0f44c92146100e7578063b41a4b19146100fe578063e2b2408514610113575f5ffd5b8063158ef93e146100735780637b5d2534146100945780638129fc1c146100dd575b5f5ffd5b5f5461007f9060ff1681565b60405190151581526020015b60405180910390f35b5f546100b890610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6100e5610126565b005b6100f060015481565b60405190815260200161008b565b610106610130565b60405161008b9190610415565b61007f61012136600461048c565b61013f565b61012e610153565b565b606061013a6101ce565b905090565b5f61014b8484846101d9565b949350505050565b61015b610360565b5f6101646101ce565b90505f5f8280602001905181019061017c919061050c565b5f805473ffffffffffffffffffffffffffffffffffffffff909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90931692909217909155600155505050565b606061013a306103c8565b5f5f6101e7838501856105b2565b608081015160015491925090811461022b576040517fdb140e4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082015173ffffffffffffffffffffffffffffffffffffffff80821690881614610282576040517f5945f53b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546001546040517f456f418800000000000000000000000000000000000000000000000000000000815261010090920473ffffffffffffffffffffffffffffffffffffffff169163456f4188916102de91879060040161064d565b602060405180830381865afa1580156102f9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031d91906106bb565b610353576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019695505050505050565b5f5460ff161561039c576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610489575f5ffd5b50565b5f5f5f6040848603121561049e575f5ffd5b83356104a981610468565b9250602084013567ffffffffffffffff8111156104c4575f5ffd5b8401601f810186136104d4575f5ffd5b803567ffffffffffffffff8111156104ea575f5ffd5b8660208284010111156104fb575f5ffd5b939660209190910195509293505050565b5f5f6040838503121561051d575f5ffd5b825161052881610468565b6020939093015192949293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff8111828210171561058857610588610538565b60405290565b604051610100810167ffffffffffffffff8111828210171561058857610588610538565b5f6101a08284031280156105c4575f5ffd5b506105cd610565565b823581526020808401359082015260408084013590820152606080840135908201526080808401359082015260bf83018413610607575f5ffd5b61060f61058e565b806101a0850186811115610621575f5ffd5b60a086015b8181101561063e578035845260209384019301610626565b505060a0830152509392505050565b5f6101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015f5b60088110156106b1578251825260209283019290910190600101610692565b5050509392505050565b5f602082840312156106cb575f5ffd5b815180151581146106da575f5ffd5b939250505056fea264697066735822122099ff15dedc196d9035f215b06e5339a8b7497a67cc2728bdcead537b8f0d1add64736f6c634300081c0033","sourceMap":"530:2160:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;556:23:63;;;;;;;;;;;;179:14:133;;172:22;154:41;;142:2;127:18;556:23:63;;;;;;;;656:27:39;;;;;;;;;;;;;;;401:42:133;389:55;;;371:74;;359:2;344:18;656:27:39;206:245:133;754:61:63;;;:::i;:::-;;815:22:39;;;;;;;;;602:25:133;;;590:2;575:18;815:22:39;456:177:133;1047:122:63;;;:::i;:::-;;;;;;;:::i;861:152:1:-;;;;;;:::i;:::-;;:::i;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;1152:287:39:-;1203:19;:17;:19::i;:::-;1233:17;1253:19;:17;:19::i;:::-;1233:39;;1283:18;1303:16;1334:4;1323:36;;;;;;;;;;;;:::i;:::-;1370:9;:34;;;;;;;;;;;;;;;;;;;:9;1414:18;-1:-1:-1;;;1152:287:39:o;1742:147:63:-;1802:26;1847:35;1876:4;1847:20;:35::i;1903:785:39:-;1993:4;2051:38;2092:49;;;;2103:8;2092:49;:::i;:::-;2263:11;;;;2299:7;;2051:90;;-1:-1:-1;2263:11:39;2289:17;;2285:69;;2329:14;;;;;;;;;;;;;;2285:69;2463:13;;;;2493:18;;;;;;;;2489:71;;2534:15;;;;;;;;;;;;;;2489:71;2575:9;;;2597:7;2575:37;;;;;:9;;;;;;;:21;;:37;;2606:5;;2575:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2570:90;;2635:14;;;;;;;;;;;;;;2570:90;-1:-1:-1;2677:4:39;;1903:785;-1:-1:-1;;;;;;1903:785:39: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;638:475:133:-;785:2;774:9;767:21;748:4;817:6;811:13;860:6;855:2;844:9;840:18;833:34;919:6;914:2;906:6;902:15;897:2;886:9;882:18;876:50;975:1;970:2;961:6;950:9;946:22;942:31;935:42;1104:2;1034:66;1029:2;1021:6;1017:15;1013:88;1002:9;998:104;994:113;986:121;;;638:475;;;;:::o;1118:154::-;1204:42;1197:5;1193:54;1186:5;1183:65;1173:93;;1262:1;1259;1252:12;1173:93;1118:154;:::o;1277:721::-;1356:6;1364;1372;1425:2;1413:9;1404:7;1400:23;1396:32;1393:52;;;1441:1;1438;1431:12;1393:52;1480:9;1467:23;1499:31;1524:5;1499:31;:::i;:::-;1549:5;-1:-1:-1;1605:2:133;1590:18;;1577:32;1632:18;1621:30;;1618:50;;;1664:1;1661;1654:12;1618:50;1687:22;;1740:4;1732:13;;1728:27;-1:-1:-1;1718:55:133;;1769:1;1766;1759:12;1718:55;1809:2;1796:16;1835:18;1827:6;1824:30;1821:50;;;1867:1;1864;1857:12;1821:50;1912:7;1907:2;1898:6;1894:2;1890:15;1886:24;1883:37;1880:57;;;1933:1;1930;1923:12;1880:57;1277:721;;1964:2;1956:11;;;;;-1:-1:-1;1986:6:133;;-1:-1:-1;;;1277:721:133:o;2003:320::-;2090:6;2098;2151:2;2139:9;2130:7;2126:23;2122:32;2119:52;;;2167:1;2164;2157:12;2119:52;2199:9;2193:16;2218:31;2243:5;2218:31;:::i;:::-;2313:2;2298:18;;;;2292:25;2268:5;;2292:25;;-1:-1:-1;;;2003:320:133:o;2328:184::-;2380:77;2377:1;2370:88;2477:4;2474:1;2467:15;2501:4;2498:1;2491:15;2517:248;2584:2;2578:9;2626:4;2614:17;;2661:18;2646:34;;2682:22;;;2643:62;2640:88;;;2708:18;;:::i;:::-;2744:2;2737:22;2517:248;:::o;2770:252::-;2842:2;2836:9;2884:3;2872:16;;2918:18;2903:34;;2939:22;;;2900:62;2897:88;;;2965:18;;:::i;3027:1356::-;3118:6;3178:3;3166:9;3157:7;3153:23;3149:33;3194:2;3191:22;;;3209:1;3206;3199:12;3191:22;-1:-1:-1;3251:17:133;;:::i;:::-;3313:23;;3345:22;;3440:2;3425:18;;;3412:32;3460:14;;;3453:31;3557:2;3542:18;;;3529:32;3577:14;;;3570:31;3674:2;3659:18;;;3646:32;3694:14;;;3687:31;3791:3;3776:19;;;3763:33;3812:15;;;3805:32;3875:3;3860:19;;3856:33;-1:-1:-1;3846:61:133;;3903:1;3900;3893:12;3846:61;3927:22;;:::i;:::-;3971:3;4012;4001:9;3997:19;4039:7;4031:6;4028:19;4025:39;;;4060:1;4057;4050:12;4025:39;4099:3;4088:9;4084:19;4112:202;4128:6;4123:3;4120:15;4112:202;;;4222:17;;4252:20;;4301:2;4292:12;;;;4145;4112:202;;;-1:-1:-1;;4341:3:133;4330:15;;4323:30;-1:-1:-1;4334:5:133;3027:1356;-1:-1:-1;;;3027:1356:133:o;4388:899::-;4572:4;4614:3;4603:9;4599:19;4591:27;;4645:6;4634:9;4627:25;4694:6;4688:13;4683:2;4672:9;4668:18;4661:41;4756:2;4748:6;4744:15;4738:22;4733:2;4722:9;4718:18;4711:50;4815:2;4807:6;4803:15;4797:22;4792:2;4781:9;4777:18;4770:50;4875:2;4867:6;4863:15;4857:22;4851:3;4840:9;4836:19;4829:51;4935:3;4927:6;4923:16;4917:23;4911:3;4900:9;4896:19;4889:52;4988:3;4980:6;4976:16;4970:23;5028:3;5017:9;5013:19;5104:1;5114:167;5128:4;5125:1;5122:11;5114:167;;;5187:13;;5175:26;;5230:2;5256:15;;;;5221:12;;;;5148:1;5141:9;5114:167;;;5118:3;;;4388:899;;;;;:::o;5292:277::-;5359:6;5412:2;5400:9;5391:7;5387:23;5383:32;5380:52;;;5428:1;5425;5418:12;5380:52;5460:9;5454:16;5513:5;5506:13;5499:21;5492:5;5489:32;5479:60;;5535:1;5532;5525:12;5479:60;5558:5;5292:277;-1:-1:-1;;;5292:277:133:o","linkReferences":{}},"methodIdentifiers":{"check(address,bytes)":"e2b24085","getAppendedBytes()":"b41a4b19","groupId()":"a0f44c92","initialize()":"8129fc1c","initialized()":"158ef93e","semaphore()":"7b5d2534"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidGroup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProver\",\"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\":[],\"name\":\"getAppendedBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"appendedBytes\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"groupId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\"},{\"inputs\":[],\"name\":\"semaphore\",\"outputs\":[{\"internalType\":\"contract ISemaphore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Inherits from BaseChecker to extend the validation logic. Ensures unique identity usage through nullifier tracking. This is because we store the nullifier which is hash(secret, groupId). The prover address is bound in the proof message field.\",\"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.\"}},\"stateVariables\":{\"groupId\":{\"details\":\"Proofs are validated against this specific group ID.\"}},\"title\":\"SemaphoreChecker\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyInitialized()\":[{\"notice\":\"Error thrown when the clone is already initialized.\"}],\"InvalidProver()\":[{\"notice\":\"custom errors\"}]},\"kind\":\"user\",\"methods\":{\"check(address,bytes)\":{\"notice\":\"Validates a subject's evidence.\"},\"getAppendedBytes()\":{\"notice\":\"Retrieves appended arguments from the clone.\"},\"groupId()\":{\"notice\":\"Unique identifier for the Semaphore group.\"},\"initialize()\":{\"notice\":\"Initializes the clone.\"},\"initialized()\":{\"notice\":\"Tracks whether the clone has been initialized.\"},\"semaphore()\":{\"notice\":\"Address of the Semaphore contract used for proof verification.\"}},\"notice\":\"Implements proof of membership validation using Semaphore.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/extensions/semaphore/SemaphoreChecker.sol\":\"SemaphoreChecker\"},\"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/semaphore/ISemaphore.sol\":{\"keccak256\":\"0x390172515c8b76eac3f5316e96e0bd1210182657f368df434de12aeba1b1cf63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885c441205189ec8da8b68db157b0b6a36a38bafaceb375c0b33a6a3ec098a9d\",\"dweb:/ipfs/QmTrwM7JWsX6WLamXdb14mzjazmmAyr9rDLfRH4MiqQ2dX\"]},\"contracts/extensions/semaphore/SemaphoreChecker.sol\":{\"keccak256\":\"0x68ab9c97c42ad0f75cb45255f56df3d273662e94f12ab1f071694649e7007091\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://368fadae214b79bc5afe2bdd0cc0fa378dce7e8b991ef09245b426f4040bf707\",\"dweb:/ipfs/QmPdsGzCEXaxPwVjfN5QinDULLCvYUmsSMG7UsNWXa9tth\"]},\"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":"InvalidGroup"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"InvalidProver"},{"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":[],"stateMutability":"view","type":"function","name":"getAppendedBytes","outputs":[{"internalType":"bytes","name":"appendedBytes","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"groupId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"semaphore","outputs":[{"internalType":"contract ISemaphore","name":"","type":"address"}]}],"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."},"getAppendedBytes()":{"notice":"Retrieves appended arguments from the clone."},"groupId()":{"notice":"Unique identifier for the Semaphore group."},"initialize()":{"notice":"Initializes the clone."},"initialized()":{"notice":"Tracks whether the clone has been initialized."},"semaphore()":{"notice":"Address of the Semaphore contract used for proof verification."}},"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/semaphore/SemaphoreChecker.sol":"SemaphoreChecker"},"evmVersion":"prague","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0xd5a0aa62b6c617581fad10a727f4961c9f567983c58fea0c00cd9599712f5e8c","urls":["bzz-raw://7572f9ace9d914d465401d506ecf9aa360e5458eae4a15fc9f9be1da7a925ab9","dweb:/ipfs/QmX5cvUd6Vr7Jy1cYLcMtGfFjs4RTfgHQ4JSBnUp9CMJSs"],"license":"MIT"},"contracts/extensions/semaphore/ISemaphore.sol":{"keccak256":"0x390172515c8b76eac3f5316e96e0bd1210182657f368df434de12aeba1b1cf63","urls":["bzz-raw://885c441205189ec8da8b68db157b0b6a36a38bafaceb375c0b33a6a3ec098a9d","dweb:/ipfs/QmTrwM7JWsX6WLamXdb14mzjazmmAyr9rDLfRH4MiqQ2dX"],"license":"MIT"},"contracts/extensions/semaphore/SemaphoreChecker.sol":{"keccak256":"0x68ab9c97c42ad0f75cb45255f56df3d273662e94f12ab1f071694649e7007091","urls":["bzz-raw://368fadae214b79bc5afe2bdd0cc0fa378dce7e8b991ef09245b426f4040bf707","dweb:/ipfs/QmPdsGzCEXaxPwVjfN5QinDULLCvYUmsSMG7UsNWXa9tth"],"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":39}