UNPKG

@excubiae/contracts

Version:
1 lines 45.6 kB
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"payable"},{"type":"function","name":"BASE_CHECKER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract BaseChecker"}],"stateMutability":"view"},{"type":"function","name":"enforce","inputs":[{"name":"subject","type":"address","internalType":"address"},{"name":"evidence","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enforcedTickets","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":"guarded","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTarget","inputs":[{"name":"_guarded","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trait","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Enforced","inputs":[{"name":"subject","type":"address","indexed":true,"internalType":"address"},{"name":"guarded","type":"address","indexed":true,"internalType":"address"},{"name":"evidence","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TargetSet","inputs":[{"name":"guarded","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AlreadyEnforced","inputs":[]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"TargetAlreadySet","inputs":[]},{"type":"error","name":"TargetNotSet","inputs":[]},{"type":"error","name":"TargetOnly","inputs":[]},{"type":"error","name":"UnsuccessfulCheck","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60806040523380602857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b602f816034565b50608c565b5f80546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610c82806100995f395ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80638129fc1c1161007d578063b41a4b1911610058578063b41a4b19146101d5578063ce343deb146101ea578063f2fde38b14610223575f5ffd5b80638129fc1c146101895780638da5cb5b14610191578063a86c9aea146101b3575f5ffd5b806372f7a030116100ad57806372f7a03014610111578063776d1a01146101565780637e16420414610169575f5ffd5b8063158ef93e146100d35780631e898ef1146100f4578063715018a614610109575b5f5ffd5b5f546100df9060ff1681565b60405190151581526020015b60405180910390f35b610107610102366004610871565b610236565b005b610107610297565b6001546101319073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b6101076101643660046108f1565b6102aa565b6002546101319073ffffffffffffffffffffffffffffffffffffffff1681565b6101076103bd565b5f54610100900473ffffffffffffffffffffffffffffffffffffffff16610131565b6100df6101c1366004610913565b60036020525f908152604090205460ff1681565b6101dd6103c5565b6040516100eb9190610976565b60408051808201909152600681527f5a7570617373000000000000000000000000000000000000000000000000000060208201526101dd565b6101076102313660046108f1565b6103d4565b60015473ffffffffffffffffffffffffffffffffffffffff163314610287576040517f7d24b6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029283838361043c565b505050565b61029f6104ff565b6102a85f610557565b565b6102b26104ff565b73ffffffffffffffffffffffffffffffffffffffff81166102ff576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff161561034f576040517fe0f2d7b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a196905f90a250565b6102a86105d3565b60606103cf610652565b905090565b6103dc6104ff565b73ffffffffffffffffffffffffffffffffffffffff8116610430576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b61043981610557565b50565b5f61044982840184610a4e565b93505050505f815f6026811061046157610461610b2e565b602090810291909101515f818152600390925260409091205490915060ff16156104b7576040517fd10324cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556104f885858561065d565b5050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff6101009091041633146102a8576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610427565b5f805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6105db61078a565b5f6105e4610652565b90505f5f828060200190518101906105fc9190610b5b565b9150915061060982610557565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b60606103cf3061079b565b6002546040517fe2b2408500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e2b24085906106b790869086908690600401610bda565b602060405180830381865afa1580156106d2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f69190610c12565b61072c576040517f4715494500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061077d9086908690610c31565b60405180910390a3505050565b6107926107e8565b6102a833610557565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f5460ff1615610824576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b73ffffffffffffffffffffffffffffffffffffffff81168114610439575f5ffd5b5f5f5f60408486031215610883575f5ffd5b833561088e81610850565b9250602084013567ffffffffffffffff8111156108a9575f5ffd5b8401601f810186136108b9575f5ffd5b803567ffffffffffffffff8111156108cf575f5ffd5b8660208284010111156108e0575f5ffd5b939660209190910195509293505050565b5f60208284031215610901575f5ffd5b813561090c81610850565b9392505050565b5f60208284031215610923575f5ffd5b5035919050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61090c602083018461092a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156109f4577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604052919050565b5f82601f830112610a0b575f5ffd5b5f610a166040610988565b9050806040840185811115610a29575f5ffd5b845b81811015610a43578035835260209283019201610a2b565b509195945050505050565b5f5f5f5f6105c08587031215610a62575f5ffd5b610a6c86866109fc565b935085605f860112610a7c575f5ffd5b6040610a8781610988565b8060c0880189811115610a98575f5ffd5b604089015b81811015610abe57610aaf8b826109fc565b84526020909301928401610a9d565b50819650610acc8a826109fc565b95505050505061010085015f87601f830112610ae6575f5ffd5b5f6104c0610af381610988565b91508301818a821115610b04575f5ffd5b5b81851015610b1d578435815260209485019401610b05565b509699959850939650929450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f60408385031215610b6c575f5ffd5b8251610b7781610850565b6020840151909250610b8881610850565b809150509250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201525f610c09604083018486610b93565b95945050505050565b5f60208284031215610c22575f5ffd5b8151801515811461090c575f5ffd5b602081525f610c44602083018486610b93565b94935050505056fea2646970667358221220ead17ea9c9963403b09ede1ff212b7f663f5f1958ca1c56c0c549728a5b6c66b64736f6c634300081c0033","sourceMap":"258:1229:50:-:0;;;482:10:62;;1269:95:87;;1322:31;;-1:-1:-1;;;1322:31:87;;1350:1;1322:31;;;160:51:133;133:18;;1322:31:87;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;1225:187;258:1229:50;;2912:187:87;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:87;;;3004:6;3020:17;;;-1:-1:-1;;;;;;3020:17:87;;;;;3052:40;;3004:6;;;;;;;3020:17;;3004:6;;3052:40;;;2975:124;2912:187;:::o;14:203:133:-;258:1229:50;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80638129fc1c1161007d578063b41a4b1911610058578063b41a4b19146101d5578063ce343deb146101ea578063f2fde38b14610223575f5ffd5b80638129fc1c146101895780638da5cb5b14610191578063a86c9aea146101b3575f5ffd5b806372f7a030116100ad57806372f7a03014610111578063776d1a01146101565780637e16420414610169575f5ffd5b8063158ef93e146100d35780631e898ef1146100f4578063715018a614610109575b5f5ffd5b5f546100df9060ff1681565b60405190151581526020015b60405180910390f35b610107610102366004610871565b610236565b005b610107610297565b6001546101319073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b6101076101643660046108f1565b6102aa565b6002546101319073ffffffffffffffffffffffffffffffffffffffff1681565b6101076103bd565b5f54610100900473ffffffffffffffffffffffffffffffffffffffff16610131565b6100df6101c1366004610913565b60036020525f908152604090205460ff1681565b6101dd6103c5565b6040516100eb9190610976565b60408051808201909152600681527f5a7570617373000000000000000000000000000000000000000000000000000060208201526101dd565b6101076102313660046108f1565b6103d4565b60015473ffffffffffffffffffffffffffffffffffffffff163314610287576040517f7d24b6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029283838361043c565b505050565b61029f6104ff565b6102a85f610557565b565b6102b26104ff565b73ffffffffffffffffffffffffffffffffffffffff81166102ff576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff161561034f576040517fe0f2d7b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a196905f90a250565b6102a86105d3565b60606103cf610652565b905090565b6103dc6104ff565b73ffffffffffffffffffffffffffffffffffffffff8116610430576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b61043981610557565b50565b5f61044982840184610a4e565b93505050505f815f6026811061046157610461610b2e565b602090810291909101515f818152600390925260409091205490915060ff16156104b7576040517fd10324cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556104f885858561065d565b5050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff6101009091041633146102a8576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610427565b5f805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6105db61078a565b5f6105e4610652565b90505f5f828060200190518101906105fc9190610b5b565b9150915061060982610557565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b60606103cf3061079b565b6002546040517fe2b2408500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e2b24085906106b790869086908690600401610bda565b602060405180830381865afa1580156106d2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f69190610c12565b61072c576040517f4715494500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061077d9086908690610c31565b60405180910390a3505050565b6107926107e8565b6102a833610557565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f5460ff1615610824576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b73ffffffffffffffffffffffffffffffffffffffff81168114610439575f5ffd5b5f5f5f60408486031215610883575f5ffd5b833561088e81610850565b9250602084013567ffffffffffffffff8111156108a9575f5ffd5b8401601f810186136108b9575f5ffd5b803567ffffffffffffffff8111156108cf575f5ffd5b8660208284010111156108e0575f5ffd5b939660209190910195509293505050565b5f60208284031215610901575f5ffd5b813561090c81610850565b9392505050565b5f60208284031215610923575f5ffd5b5035919050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61090c602083018461092a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156109f4577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604052919050565b5f82601f830112610a0b575f5ffd5b5f610a166040610988565b9050806040840185811115610a29575f5ffd5b845b81811015610a43578035835260209283019201610a2b565b509195945050505050565b5f5f5f5f6105c08587031215610a62575f5ffd5b610a6c86866109fc565b935085605f860112610a7c575f5ffd5b6040610a8781610988565b8060c0880189811115610a98575f5ffd5b604089015b81811015610abe57610aaf8b826109fc565b84526020909301928401610a9d565b50819650610acc8a826109fc565b95505050505061010085015f87601f830112610ae6575f5ffd5b5f6104c0610af381610988565b91508301818a821115610b04575f5ffd5b5b81851015610b1d578435815260209485019401610b05565b509699959850939650929450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f60408385031215610b6c575f5ffd5b8251610b7781610850565b6020840151909250610b8881610850565b809150509250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201525f610c09604083018486610b93565b95945050505050565b5f60208284031215610c22575f5ffd5b8151801515811461090c575f5ffd5b602081525f610c44602083018486610b93565b94935050505056fea2646970667358221220ead17ea9c9963403b09ede1ff212b7f663f5f1958ca1c56c0c549728a5b6c66b64736f6c634300081c0033","sourceMap":"258:1229:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:23:63;;;;;;;;;;;;179:14:133;;172:22;154:41;;142:2;127:18;552:23:63;;;;;;;;1301:132:61;;;;;;:::i;:::-;;:::i;:::-;;2293:101:87;;;:::i;623:22:62:-;;;;;;;;;;;;1267:42:133;1255:55;;;1237:74;;1225:2;1210:18;623:22:62;1091:226:133;1322:254:62;;;;;;:::i;:::-;;:::i;540:31:61:-;;;;;;;;;750:61:63;;;:::i;1638:85:87:-;1684:7;1710:6;;;;;;1638:85;;371:47:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1043:122:63;;;:::i;:::-;;;;;;;:::i;1391:94:50:-;1463:15;;;;;;;;;;;;;;;;;1391:94;;2543:215:87;;;;;;:::i;:::-;;:::i;1301:132:61:-;776:7:62;;;;762:10;:21;758:46;;792:12;;;;;;;;;;;;;;758:46;1399:27:61::1;1408:7;1417:8;;1399;:27::i;:::-;1301:132:::0;;;:::o;2293:101:87:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1322:254:62:-;1531:13:87;:11;:13::i;:::-;1400:22:62::1;::::0;::::1;1396:48;;1431:13;;;;;;;;;;;;;;1396:48;1458:7;::::0;:21:::1;:7;:21:::0;1454:52:::1;;1488:18;;;;;;;;;;;;;;1454:52;1517:7;:18:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;1550:19:::1;::::0;::::1;::::0;-1:-1:-1;;1550:19:62::1;1322:254:::0;:::o;750:61:63:-;791:13;:11;:13::i;1043:122::-;1094:26;1139:19;:17;:19::i;:::-;1132:26;;1043:122;:::o;2543:215:87:-;1531:13;:11;:13::i;:::-;2627:22:::1;::::0;::::1;2623:91;;2672:31;::::0;::::1;::::0;;2700:1:::1;2672:31;::::0;::::1;1237:74:133::0;1210:18;;2672:31:87::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;752:550:50:-;889:29;922:109;;;;946:9;922:109;:::i;:::-;882:149;;;;;1084:16;1103:10;1114:1;1103:13;;;;;;;:::i;:::-;;;;;;;;;;1131:25;;;;:15;:25;;;;;;;;1103:13;;-1:-1:-1;1131:25:50;;1127:80;;;1179:17;;;;;;;;;;;;;;1127:80;1217:25;;;;:15;:25;;;;;:32;;;;1245:4;1217:32;;;1260:35;1275:8;1285:9;;1260:14;:35::i;:::-;832:470;;752:550;;;:::o;1796:162:87:-;1684:7;1710:6;1855:23;1710:6;;;;;735:10:98;1855:23:87;1851:101;;1901:40;;;;;735:10:98;1901:40:87;;;1237:74:133;1210:18;;1901:40:87;1091:226:133;2912:187:87;2985:16;3004:6;;;3020:17;;;3004:6;3020:17;;;;;;;;;3052:40;;3004:6;;;;;;;3020:17;;3004:6;;3052:40;;;2975:124;2912:187;:::o;724:316:61:-;783:19;:17;:19::i;:::-;813:17;833:19;:17;:19::i;:::-;813:39;;863:14;879:23;917:4;906:36;;;;;;;;;;;;:::i;:::-;862:80;;;;953:26;972:6;953:18;:26::i;:::-;990:12;:43;;;;;;;;;;;;;;;-1:-1:-1;;724:316:61:o;1738:147:63:-;1798:26;1843:35;1872:4;1843:20;:35::i;1604:216:61:-;1696:12;;:37;;;;;:12;;;;;:18;;:37;;1715:7;;1724:8;;;;1696:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1691:70;;1742:19;;;;;;;;;;;;;;1691:70;1795:7;;1777:36;;1795:7;;;;;1777:36;;;;;;;1804:8;;;;1777:36;:::i;:::-;;;;;;;;1604:216;;;:::o;958:176:62:-;1017:19;:17;:19::i;:::-;1097:30;1116:10;1097:18;:30::i;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;1384:129:63:-;1438:11;;;;1434:44;;;1458:20;;;;;;;;;;;;;;1434:44;1488:11;:18;;;;1502:4;1488:18;;;1384:129::o;206:154:133:-;292:42;285:5;281:54;274:5;271:65;261:93;;350:1;347;340:12;365:721;444:6;452;460;513:2;501:9;492:7;488:23;484:32;481:52;;;529:1;526;519:12;481:52;568:9;555:23;587:31;612:5;587:31;:::i;:::-;637:5;-1:-1:-1;693:2:133;678:18;;665:32;720:18;709:30;;706:50;;;752:1;749;742:12;706:50;775:22;;828:4;820:13;;816:27;-1:-1:-1;806:55:133;;857:1;854;847:12;806:55;897:2;884:16;923:18;915:6;912:30;909:50;;;955:1;952;945:12;909:50;1000:7;995:2;986:6;982:2;978:15;974:24;971:37;968:57;;;1021:1;1018;1011:12;968:57;365:721;;1052:2;1044:11;;;;;-1:-1:-1;1074:6:133;;-1:-1:-1;;;365:721:133:o;1322:247::-;1381:6;1434:2;1422:9;1413:7;1409:23;1405:32;1402:52;;;1450:1;1447;1440:12;1402:52;1489:9;1476:23;1508:31;1533:5;1508:31;:::i;:::-;1558:5;1322:247;-1:-1:-1;;;1322:247:133:o;1824:226::-;1883:6;1936:2;1924:9;1915:7;1911:23;1907:32;1904:52;;;1952:1;1949;1942:12;1904:52;-1:-1:-1;1997:23:133;;1824:226;-1:-1:-1;1824:226:133:o;2055:347::-;2096:3;2134:5;2128:12;2161:6;2156:3;2149:19;2217:6;2210:4;2203:5;2199:16;2192:4;2187:3;2183:14;2177:47;2269:1;2262:4;2253:6;2248:3;2244:16;2240:27;2233:38;2391:4;2321:66;2316:2;2308:6;2304:15;2300:88;2295:3;2291:98;2287:109;2280:116;;;2055:347;;;;:::o;2407:217::-;2554:2;2543:9;2536:21;2517:4;2574:44;2614:2;2603:9;2599:18;2591:6;2574:44;:::i;2853:488::-;2924:2;2918:9;2980:2;2970:13;;2985:66;2966:86;2954:99;;3083:18;3068:34;;3104:22;;;3065:62;3062:242;;;3160:77;3157:1;3150:88;3261:4;3258:1;3251:15;3289:4;3286:1;3279:15;3062:242;3320:2;3313:22;2853:488;;-1:-1:-1;2853:488:133:o;3346:626::-;3396:5;3449:3;3442:4;3434:6;3430:17;3426:27;3416:55;;3467:1;3464;3457:12;3416:55;3495:1;3578:19;3556:2;3578:19;:::i;:::-;3567:30;;3617:7;3659:2;3651:6;3647:15;3685:3;3677:6;3674:15;3671:35;;;3702:1;3699;3692:12;3671:35;3726:6;3741:200;3757:6;3752:3;3749:15;3741:200;;;3849:17;;3879:18;;3926:4;3917:14;;;;3774;3741:200;;;-1:-1:-1;3959:7:133;;3346:626;-1:-1:-1;;;;;3346:626:133:o;3977:1668::-;4179:6;4187;4195;4203;4256:4;4244:9;4235:7;4231:23;4227:34;4224:54;;;4274:1;4271;4264:12;4224:54;4297:44;4333:7;4322:9;4297:44;:::i;:::-;4287:54;;4384:7;4379:2;4368:9;4364:18;4360:32;4350:60;;4406:1;4403;4396:12;4350:60;4485:2;4507:19;4485:2;4507:19;:::i;:::-;4548:3;4589;4578:9;4574:19;4616:7;4608:6;4605:19;4602:39;;;4637:1;4634;4627:12;4602:39;4676:2;4665:9;4661:18;4688:167;4704:6;4699:3;4696:15;4688:167;;;4772:38;4802:7;4797:3;4772:38;:::i;:::-;4760:51;;4840:4;4831:14;;;;4721;;4688:167;;;4692:3;4874:5;4864:15;;4898:41;4931:7;4923:6;4898:41;:::i;:::-;4888:51;;;;;;4977:3;4966:9;4962:19;5005:1;5048:7;5041:4;5033:6;5029:17;5025:31;5015:59;;5070:1;5067;5060:12;5015:59;5098:1;5163:4;5187:23;5163:4;5187:23;:::i;:::-;5176:34;-1:-1:-1;5264:19:133;;5176:34;5295:21;;;5292:41;;;5329:1;5326;5319:12;5292:41;5370:216;5388:8;5381:5;5378:19;5370:216;;;5486:19;;5518:20;;5571:4;5409:16;;;;5560;5370:216;;;-1:-1:-1;3977:1668:133;;;;-1:-1:-1;3977:1668:133;;-1:-1:-1;5606:7:133;;-1:-1:-1;;;;3977:1668:133:o;5650:184::-;5702:77;5699:1;5692:88;5799:4;5796:1;5789:15;5823:4;5820:1;5813:15;5839:401;5934:6;5942;5995:2;5983:9;5974:7;5970:23;5966:32;5963:52;;;6011:1;6008;6001:12;5963:52;6043:9;6037:16;6062:31;6087:5;6062:31;:::i;:::-;6162:2;6147:18;;6141:25;6112:5;;-1:-1:-1;6175:33:133;6141:25;6175:33;:::i;:::-;6227:7;6217:17;;;5839:401;;;;;:::o;6245:325::-;6333:6;6328:3;6321:19;6385:6;6378:5;6371:4;6366:3;6362:14;6349:43;;6437:1;6430:4;6421:6;6416:3;6412:16;6408:27;6401:38;6303:3;6559:4;6489:66;6484:2;6476:6;6472:15;6468:88;6463:3;6459:98;6455:109;6448:116;;6245:325;;;;:::o;6575:364::-;6772:42;6764:6;6760:55;6749:9;6742:74;6852:2;6847;6836:9;6832:18;6825:30;6723:4;6872:61;6929:2;6918:9;6914:18;6906:6;6898;6872:61;:::i;:::-;6864:69;6575:364;-1:-1:-1;;;;;6575:364:133:o;6944:277::-;7011:6;7064:2;7052:9;7043:7;7039:23;7035:32;7032:52;;;7080:1;7077;7070:12;7032:52;7112:9;7106:16;7165:5;7158:13;7151:21;7144:5;7141:32;7131:60;;7187:1;7184;7177:12;7226:244;7383:2;7372:9;7365:21;7346:4;7403:61;7460:2;7449:9;7445:18;7437:6;7429;7403:61;:::i;:::-;7395:69;7226:244;-1:-1:-1;;;;7226:244:133:o","linkReferences":{}},"methodIdentifiers":{"BASE_CHECKER()":"7e164204","enforce(address,bytes)":"1e898ef1","enforcedTickets(uint256)":"a86c9aea","getAppendedBytes()":"b41a4b19","guarded()":"72f7a030","initialize()":"8129fc1c","initialized()":"158ef93e","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setTarget(address)":"776d1a01","trait()":"ce343deb","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyEnforced\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TargetAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TargetNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TargetOnly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsuccessfulCheck\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guarded\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"evidence\",\"type\":\"bytes\"}],\"name\":\"Enforced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guarded\",\"type\":\"address\"}],\"name\":\"TargetSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_CHECKER\",\"outputs\":[{\"internalType\":\"contract BaseChecker\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"evidence\",\"type\":\"bytes\"}],\"name\":\"enforce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"enforcedTickets\",\"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\":\"guarded\",\"outputs\":[{\"internalType\":\"address\",\"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\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guarded\",\"type\":\"address\"}],\"name\":\"setTarget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trait\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Enforced(address,address,bytes)\":{\"params\":{\"evidence\":\"Custom validation data.\",\"guarded\":\"Address of the protected contract.\",\"subject\":\"Address that passed the validation.\"}},\"TargetSet(address)\":{\"params\":{\"guarded\":\"Address of the protected contract.\"}}},\"kind\":\"dev\",\"methods\":{\"enforce(address,bytes)\":{\"details\":\"Uses the BaseChecker for validation logic. Only callable by the guarded contract.\",\"params\":{\"evidence\":\"Custom validation data.\",\"subject\":\"Address to enforce the policy on.\"}},\"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.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setTarget(address)\":{\"details\":\"Can only be called once by the owner.\",\"params\":{\"_guarded\":\"The contract address to protect.\"}},\"trait()\":{\"returns\":{\"_0\":\"The type of the Policy\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"ZupassPolicy\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyEnforced()\":[{\"notice\":\"Error thrown when a user is already enforced.\"}],\"AlreadyInitialized()\":[{\"notice\":\"Error thrown when the clone is already initialized.\"}],\"TargetAlreadySet()\":[{\"notice\":\"Error thrown when attempting to set the guarded more than once.\"}],\"TargetNotSet()\":[{\"notice\":\"Error thrown when the guarded contract is not set.\"}],\"TargetOnly()\":[{\"notice\":\"Error thrown when a function is restricted to calls from the guarded contract.\"}],\"UnsuccessfulCheck()\":[{\"notice\":\"Error thrown when a validation check fails.\"}],\"ZeroAddress()\":[{\"notice\":\"Error thrown when a zero address is provided where not allowed.\"}]},\"events\":{\"Enforced(address,address,bytes)\":{\"notice\":\"Emitted when a subject successfully passes a policy enforcement check.\"},\"TargetSet(address)\":{\"notice\":\"Emitted when the guarded contract is successfully set.\"}},\"kind\":\"user\",\"methods\":{\"BASE_CHECKER()\":{\"notice\":\"Reference to the BaseChecker contract used for validation.\"},\"constructor\":{\"notice\":\"Create a new instance of ZupassPolicy\"},\"enforce(address,bytes)\":{\"notice\":\"Enforces a policy check for a subject.\"},\"enforcedTickets(uint256)\":{\"notice\":\"a mapping of ticket IDs to whether they have been used\"},\"getAppendedBytes()\":{\"notice\":\"Retrieves appended arguments from the clone.\"},\"guarded()\":{\"notice\":\"The address of the contract being protected by the policy.\"},\"initialize()\":{\"notice\":\"Initializes the clone.\"},\"initialized()\":{\"notice\":\"Tracks whether the clone has been initialized.\"},\"setTarget(address)\":{\"notice\":\"Sets the contract address to be protected by this policy.\"},\"trait()\":{\"notice\":\"Get the trait of the Policy\"}},\"notice\":\"This contract enforces Zupass validation. by requiring new voters to own a certain Zupass event ticket\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/extensions/zupass/ZupassPolicy.sol\":\"ZupassPolicy\"},\"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/zupass/ZupassPolicy.sol\":{\"keccak256\":\"0xbde767e537f7d140f5bc3e23db22518b061c6bbc079fdeca5d0fdb98171ca5c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cb6f456d09934c48fc29d03d5a2cb7f49e2a5f6961ecc9ea5c1937fa7c1fb4d\",\"dweb:/ipfs/QmWBPxSSe6N4K2XjHz5RtTyLAHmTdCxjHBx8Efvc16D59H\"]},\"contracts/interfaces/IBaseChecker.sol\":{\"keccak256\":\"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1\",\"dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB\"]},\"contracts/interfaces/IBasePolicy.sol\":{\"keccak256\":\"0x8ec727819f1f02f92352e4ed7d1c92a82a324ca313c0318cd4a080f1a0cc8233\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f223695a8361138b94e55954cfa20d69f9f547478a046c8b2aa7799323d4ca8\",\"dweb:/ipfs/QmVXuU28cpMjbPTS1WYKz4RgepBA1DTwZXJ82H2b7q3ZZr\"]},\"contracts/interfaces/IClone.sol\":{\"keccak256\":\"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef\",\"dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff\"]},\"contracts/interfaces/IPolicy.sol\":{\"keccak256\":\"0x82f96940502cdd880f1eacc03cd8c3895f306283efa907610c899a1f5509f78c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5baf97f88beb3155f244dc301ee040786780bf6762fbaaf569e2e86b17729b3f\",\"dweb:/ipfs/Qmec9wzmmFwkQHDthMo9QaFtYqa7CadjiCP2JMsgFGGaxU\"]},\"contracts/policy/BasePolicy.sol\":{\"keccak256\":\"0x27b5e3e32c20cf408479be643d19b423ba8560edda631e07cf9593d9e223361f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0f8fc6e1fe5d06fa6564b9d3a15e7a8f45952d209a76d8eca062d159af47ee7\",\"dweb:/ipfs/QmXkkDC3oATeWqdsFFFryuky8iahgmF32QvE11eS4PDxMS\"]},\"contracts/policy/Policy.sol\":{\"keccak256\":\"0xb0c9186c6b880aadc1c6cc5ddae104c385f365b48eb9bbedf164f9085a242c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978e15170f79da85a988a040f9e1071c62b0fc80e8fd5240253c0a6d1d1a3fc7\",\"dweb:/ipfs/QmdWqp9Xxe5H4kXa6CmsymfGzENoqu8VAoJBsUSsyZzbNd\"]},\"contracts/proxy/Clone.sol\":{\"keccak256\":\"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef\",\"dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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":[],"stateMutability":"payable","type":"constructor"},{"inputs":[],"type":"error","name":"AlreadyEnforced"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"TargetAlreadySet"},{"inputs":[],"type":"error","name":"TargetNotSet"},{"inputs":[],"type":"error","name":"TargetOnly"},{"inputs":[],"type":"error","name":"UnsuccessfulCheck"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"subject","type":"address","indexed":true},{"internalType":"address","name":"guarded","type":"address","indexed":true},{"internalType":"bytes","name":"evidence","type":"bytes","indexed":false}],"type":"event","name":"Enforced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"guarded","type":"address","indexed":true}],"type":"event","name":"TargetSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_CHECKER","outputs":[{"internalType":"contract BaseChecker","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"subject","type":"address"},{"internalType":"bytes","name":"evidence","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"enforce"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"enforcedTickets","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":"guarded","outputs":[{"internalType":"address","name":"","type":"address"}]},{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_guarded","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setTarget"},{"inputs":[],"stateMutability":"pure","type":"function","name":"trait","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"enforce(address,bytes)":{"details":"Uses the BaseChecker for validation logic. Only callable by the guarded contract.","params":{"evidence":"Custom validation data.","subject":"Address to enforce the policy on."}},"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."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setTarget(address)":{"details":"Can only be called once by the owner.","params":{"_guarded":"The contract address to protect."}},"trait()":{"returns":{"_0":"The type of the Policy"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"BASE_CHECKER()":{"notice":"Reference to the BaseChecker contract used for validation."},"constructor":{"notice":"Create a new instance of ZupassPolicy"},"enforce(address,bytes)":{"notice":"Enforces a policy check for a subject."},"enforcedTickets(uint256)":{"notice":"a mapping of ticket IDs to whether they have been used"},"getAppendedBytes()":{"notice":"Retrieves appended arguments from the clone."},"guarded()":{"notice":"The address of the contract being protected by the policy."},"initialize()":{"notice":"Initializes the clone."},"initialized()":{"notice":"Tracks whether the clone has been initialized."},"setTarget(address)":{"notice":"Sets the contract address to be protected by this policy."},"trait()":{"notice":"Get the trait of the Policy"}},"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/zupass/ZupassPolicy.sol":"ZupassPolicy"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0x7cd56cddc8264c5be46692a179221a69b9e20eb977dcb6df82e62f55aa945411","urls":["bzz-raw://6ca0724296c4a104fbd0f7af3c297b857093fb771f418c7c198b721200d60d56","dweb:/ipfs/QmW7chfNoFQJY2NA21xGB8bP5MZ2ajjMuapqp6pMRC52u3"],"license":"MIT"},"contracts/extensions/zupass/ZupassPolicy.sol":{"keccak256":"0xbde767e537f7d140f5bc3e23db22518b061c6bbc079fdeca5d0fdb98171ca5c8","urls":["bzz-raw://1cb6f456d09934c48fc29d03d5a2cb7f49e2a5f6961ecc9ea5c1937fa7c1fb4d","dweb:/ipfs/QmWBPxSSe6N4K2XjHz5RtTyLAHmTdCxjHBx8Efvc16D59H"],"license":"MIT"},"contracts/interfaces/IBaseChecker.sol":{"keccak256":"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a","urls":["bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1","dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB"],"license":"MIT"},"contracts/interfaces/IBasePolicy.sol":{"keccak256":"0x8ec727819f1f02f92352e4ed7d1c92a82a324ca313c0318cd4a080f1a0cc8233","urls":["bzz-raw://5f223695a8361138b94e55954cfa20d69f9f547478a046c8b2aa7799323d4ca8","dweb:/ipfs/QmVXuU28cpMjbPTS1WYKz4RgepBA1DTwZXJ82H2b7q3ZZr"],"license":"MIT"},"contracts/interfaces/IClone.sol":{"keccak256":"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7","urls":["bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef","dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff"],"license":"MIT"},"contracts/interfaces/IPolicy.sol":{"keccak256":"0x82f96940502cdd880f1eacc03cd8c3895f306283efa907610c899a1f5509f78c","urls":["bzz-raw://5baf97f88beb3155f244dc301ee040786780bf6762fbaaf569e2e86b17729b3f","dweb:/ipfs/Qmec9wzmmFwkQHDthMo9QaFtYqa7CadjiCP2JMsgFGGaxU"],"license":"MIT"},"contracts/policy/BasePolicy.sol":{"keccak256":"0x27b5e3e32c20cf408479be643d19b423ba8560edda631e07cf9593d9e223361f","urls":["bzz-raw://a0f8fc6e1fe5d06fa6564b9d3a15e7a8f45952d209a76d8eca062d159af47ee7","dweb:/ipfs/QmXkkDC3oATeWqdsFFFryuky8iahgmF32QvE11eS4PDxMS"],"license":"MIT"},"contracts/policy/Policy.sol":{"keccak256":"0xb0c9186c6b880aadc1c6cc5ddae104c385f365b48eb9bbedf164f9085a242c1e","urls":["bzz-raw://978e15170f79da85a988a040f9e1071c62b0fc80e8fd5240253c0a6d1d1a3fc7","dweb:/ipfs/QmdWqp9Xxe5H4kXa6CmsymfGzENoqu8VAoJBsUSsyZzbNd"],"license":"MIT"},"contracts/proxy/Clone.sol":{"keccak256":"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99","urls":["bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef","dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":50}