UNPKG

@excubiae/contracts

Version:
1 lines 24.8 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":"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":"0x6080604052348015600e575f5ffd5b5061073b8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063a0f44c921161004d578063a0f44c92146100e7578063b41a4b19146100fe578063e2b2408514610113575f5ffd5b8063158ef93e146100735780637b5d2534146100945780638129fc1c146100dd575b5f5ffd5b5f5461007f9060ff1681565b60405190151581526020015b60405180910390f35b5f546100b890610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6100e5610126565b005b6100f060015481565b60405190815260200161008b565b610106610130565b60405161008b9190610439565b61007f6101213660046104b0565b61013f565b61012e610153565b565b606061013a6101ce565b905090565b5f61014b8484846101d9565b949350505050565b61015b610384565b5f6101646101ce565b90505f5f8280602001905181019061017c9190610530565b5f805473ffffffffffffffffffffffffffffffffffffffff909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90931692909217909155600155505050565b606061013a306103ec565b5f5f6101e7838501856105d6565b608081015160015491925090606082901c906bffffffffffffffffffffffff8316908114610241576040517fdb140e4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102a6576040517f5945f53b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f456f418800000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063456f4188906103019086908890600401610671565b602060405180830381865afa15801561031c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034091906106df565b610376576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001979650505050505050565b5f5460ff16156103c0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146104ad575f5ffd5b50565b5f5f5f604084860312156104c2575f5ffd5b83356104cd8161048c565b9250602084013567ffffffffffffffff8111156104e8575f5ffd5b8401601f810186136104f8575f5ffd5b803567ffffffffffffffff81111561050e575f5ffd5b86602082840101111561051f575f5ffd5b939660209190910195509293505050565b5f5f60408385031215610541575f5ffd5b825161054c8161048c565b6020939093015192949293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff811182821017156105ac576105ac61055c565b60405290565b604051610100810167ffffffffffffffff811182821017156105ac576105ac61055c565b5f6101a08284031280156105e8575f5ffd5b506105f1610589565b823581526020808401359082015260408084013590820152606080840135908201526080808401359082015260bf8301841361062b575f5ffd5b6106336105b2565b806101a0850186811115610645575f5ffd5b60a086015b8181101561066257803584526020938401930161064a565b505060a0830152509392505050565b5f6101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015f5b60088110156106d55782518252602092830192909101906001016106b6565b5050509392505050565b5f602082840312156106ef575f5ffd5b815180151581146106fe575f5ffd5b939250505056fea2646970667358221220237cbd374789a5e3a011a859984eaad77e70565568a5124dfd2d86dcd50d6a7d64736f6c634300081c0033","sourceMap":"391:2331:39:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061006f575f3560e01c8063a0f44c921161004d578063a0f44c92146100e7578063b41a4b19146100fe578063e2b2408514610113575f5ffd5b8063158ef93e146100735780637b5d2534146100945780638129fc1c146100dd575b5f5ffd5b5f5461007f9060ff1681565b60405190151581526020015b60405180910390f35b5f546100b890610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6100e5610126565b005b6100f060015481565b60405190815260200161008b565b610106610130565b60405161008b9190610439565b61007f6101213660046104b0565b61013f565b61012e610153565b565b606061013a6101ce565b905090565b5f61014b8484846101d9565b949350505050565b61015b610384565b5f6101646101ce565b90505f5f8280602001905181019061017c9190610530565b5f805473ffffffffffffffffffffffffffffffffffffffff909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90931692909217909155600155505050565b606061013a306103ec565b5f5f6101e7838501856105d6565b608081015160015491925090606082901c906bffffffffffffffffffffffff8316908114610241576040517fdb140e4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146102a6576040517f5945f53b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f456f418800000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063456f4188906103019086908890600401610671565b602060405180830381865afa15801561031c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034091906106df565b610376576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001979650505050505050565b5f5460ff16156103c0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146104ad575f5ffd5b50565b5f5f5f604084860312156104c2575f5ffd5b83356104cd8161048c565b9250602084013567ffffffffffffffff8111156104e8575f5ffd5b8401601f810186136104f8575f5ffd5b803567ffffffffffffffff81111561050e575f5ffd5b86602082840101111561051f575f5ffd5b939660209190910195509293505050565b5f5f60408385031215610541575f5ffd5b825161054c8161048c565b6020939093015192949293505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff811182821017156105ac576105ac61055c565b60405290565b604051610100810167ffffffffffffffff811182821017156105ac576105ac61055c565b5f6101a08284031280156105e8575f5ffd5b506105f1610589565b823581526020808401359082015260408084013590820152606080840135908201526080808401359082015260bf8301841361062b575f5ffd5b6106336105b2565b806101a0850186811115610645575f5ffd5b60a086015b8181101561066257803584526020938401930161064a565b505060a0830152509392505050565b5f6101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015f5b60088110156106d55782518252602092830192909101906001016106b6565b5050509392505050565b5f602082840312156106ef575f5ffd5b815180151581146106fe575f5ffd5b939250505056fea2646970667358221220237cbd374789a5e3a011a859984eaad77e70565568a5124dfd2d86dcd50d6a7d64736f6c634300081c0033","sourceMap":"391:2331:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:23:63;;;;;;;;;;;;179:14:133;;172:22;154:41;;142:2;127:18;552:23:63;;;;;;;;517:27:39;;;;;;;;;;;;;;;401:42:133;389:55;;;371:74;;359:2;344:18;517:27:39;206:245:133;750:61:63;;;:::i;:::-;;676:22:39;;;;;;;;;602:25:133;;;590:2;575:18;676:22:39;456:177:133;1043:122:63;;;:::i;:::-;;;;;;;:::i;857:152:1:-;;;;;;:::i;:::-;;:::i;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;1013:287:39:-;1064:19;:17;:19::i;:::-;1094:17;1114:19;:17;:19::i;:::-;1094:39;;1144:18;1164:16;1195:4;1184:36;;;;;;;;;;;;:::i;:::-;1231:9;:34;;;;;;;;;;;;;;;;;;;:9;1275:18;-1:-1:-1;;;1013:287:39:o;1738:147:63:-;1798:26;1843:35;1872:4;1843:20;:35::i;1764:956:39:-;1854:4;1912:38;1953:49;;;;1964:8;1953:49;:::i;:::-;2137:11;;;;2457:7;;1912:90;;-1:-1:-1;2137:11:39;2287:2;2277:12;;;;2415:13;2405:24;;;2445:19;;2441:71;;2487:14;;;;;;;;;;;;;;2441:71;2537:7;2526:18;;:7;:18;;;2522:71;;2567:15;;;;;;;;;;;;;;2522:71;2608:9;;:36;;;;;:9;;;;;;;:21;;:36;;2630:6;;2638:5;;2608:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2603:89;;2667:14;;;;;;;;;;;;;;2603:89;-1:-1:-1;2709:4:39;;1764:956;-1:-1:-1;;;;;;;1764:956:39: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;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.\",\"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\":\"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/semaphore/ISemaphore.sol\":{\"keccak256\":\"0x390172515c8b76eac3f5316e96e0bd1210182657f368df434de12aeba1b1cf63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885c441205189ec8da8b68db157b0b6a36a38bafaceb375c0b33a6a3ec098a9d\",\"dweb:/ipfs/QmTrwM7JWsX6WLamXdb14mzjazmmAyr9rDLfRH4MiqQ2dX\"]},\"contracts/extensions/semaphore/SemaphoreChecker.sol\":{\"keccak256\":\"0x61b101abd367913ec7e44a20cab0e211f2563ab016130da55a550326eff7f037\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f906d30fa351ec333fa0730e53a9d522d3995720992f7f2c5d10c1caf1e7ee99\",\"dweb:/ipfs/QmWYWa25jVybBhdHfbUNFwtFPpncvoFYavS8Lbyu2zJsTV\"]},\"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":"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":"cancun","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0x7cd56cddc8264c5be46692a179221a69b9e20eb977dcb6df82e62f55aa945411","urls":["bzz-raw://6ca0724296c4a104fbd0f7af3c297b857093fb771f418c7c198b721200d60d56","dweb:/ipfs/QmW7chfNoFQJY2NA21xGB8bP5MZ2ajjMuapqp6pMRC52u3"],"license":"MIT"},"contracts/extensions/semaphore/ISemaphore.sol":{"keccak256":"0x390172515c8b76eac3f5316e96e0bd1210182657f368df434de12aeba1b1cf63","urls":["bzz-raw://885c441205189ec8da8b68db157b0b6a36a38bafaceb375c0b33a6a3ec098a9d","dweb:/ipfs/QmTrwM7JWsX6WLamXdb14mzjazmmAyr9rDLfRH4MiqQ2dX"],"license":"MIT"},"contracts/extensions/semaphore/SemaphoreChecker.sol":{"keccak256":"0x61b101abd367913ec7e44a20cab0e211f2563ab016130da55a550326eff7f037","urls":["bzz-raw://f906d30fa351ec333fa0730e53a9d522d3995720992f7f2c5d10c1caf1e7ee99","dweb:/ipfs/QmWYWa25jVybBhdHfbUNFwtFPpncvoFYavS8Lbyu2zJsTV"],"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":39}