{"abi":[{"type":"function","name":"run","inputs":[{"name":"","type":"tuple","internalType":"struct AttestationPayload","components":[{"name":"schemaId","type":"bytes32","internalType":"bytes32"},{"name":"expirationDate","type":"uint64","internalType":"uint64"},{"name":"subject","type":"bytes","internalType":"bytes"},{"name":"attestationData","type":"bytes","internalType":"bytes"}]},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceID","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"OnlyPortalOwner","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506102f9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063378144b01461006d578063f8a8fd6d14610081575b600080fd5b6100596100543660046100ba565b610083565b604051901515815260200160405180910390f35b61008161007b3660046101d3565b50505050565b005b60006001600160e01b0319821663367e8d1760e01b14806100b457506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000602082840312156100cc57600080fd5b81356001600160e01b0319811681146100e457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715610124576101246100eb565b60405290565b600082601f83011261013b57600080fd5b813567ffffffffffffffff80821115610156576101566100eb565b604051601f8301601f19908116603f0116810190828211818310171561017e5761017e6100eb565b8160405283815286602085880101111561019757600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146101ce57600080fd5b919050565b600080600080608085870312156101e957600080fd5b843567ffffffffffffffff8082111561020157600080fd5b908601906080828903121561021557600080fd5b61021d610101565b823581526020830135828116811461023457600080fd5b602082015260408301358281111561024b57600080fd5b6102578a82860161012a565b60408301525060608301358281111561026f57600080fd5b61027b8a82860161012a565b6060830152509550602087013591508082111561029757600080fd5b506102a48782880161012a565b9350506102b3604086016101b7565b939692955092936060013592505056fea26469706673582212201c20da66105c44ae16bb645abdbc1580e556a57a9b12a539a021b476437f8dab64736f6c63430008150033","sourceMap":"359:386:101:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063378144b01461006d578063f8a8fd6d14610081575b600080fd5b6100596100543660046100ba565b610083565b604051901515815260200160405180910390f35b61008161007b3660046101d3565b50505050565b005b60006001600160e01b0319821663367e8d1760e01b14806100b457506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000602082840312156100cc57600080fd5b81356001600160e01b0319811681146100e457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715610124576101246100eb565b60405290565b600082601f83011261013b57600080fd5b813567ffffffffffffffff80821115610156576101566100eb565b604051601f8301601f19908116603f0116810190828211818310171561017e5761017e6100eb565b8160405283815286602085880101111561019757600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146101ce57600080fd5b919050565b600080600080608085870312156101e957600080fd5b843567ffffffffffffffff8082111561020157600080fd5b908601906080828903121561021557600080fd5b61021d610101565b823581526020830135828116811461023457600080fd5b602082015260408301358281111561024b57600080fd5b6102578a82860161012a565b60408301525060608301358281111561026f57600080fd5b61027b8a82860161012a565b6060830152509550602087013591508082111561029757600080fd5b506102a48782880161012a565b9350506102b3604086016101b7565b939692955092936060013592505056fea26469706673582212201c20da66105c44ae16bb645abdbc1580e556a57a9b12a539a021b476437f8dab64736f6c63430008150033","sourceMap":"359:386:101:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1130:196:61;;;;;;:::i;:::-;;:::i;:::-;;;470:14:113;;463:22;445:41;;433:2;418:18;1130:196:61;;;;;;;560:183:101;;;;;;:::i;:::-;;;;;;;;1130:196:61;1215:4;-1:-1:-1;;;;;;1234:47:61;;-1:-1:-1;;;1234:47:61;;:87;;-1:-1:-1;;;;;;;;;;937:40:49;;;1285:36:61;1227:94;1130:196;-1:-1:-1;;1130:196:61:o;14:286:113:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:113;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:113:o;497:127::-;558:10;553:3;549:20;546:1;539:31;589:4;586:1;579:15;613:4;610:1;603:15;629:247;696:2;690:9;738:3;726:16;;772:18;757:34;;793:22;;;754:62;751:88;;;819:18;;:::i;:::-;855:2;848:22;629:247;:::o;881:718::-;923:5;976:3;969:4;961:6;957:17;953:27;943:55;;994:1;991;984:12;943:55;1030:6;1017:20;1056:18;1093:2;1089;1086:10;1083:36;;;1099:18;;:::i;:::-;1174:2;1168:9;1142:2;1228:13;;-1:-1:-1;;1224:22:113;;;1248:2;1220:31;1216:40;1204:53;;;1272:18;;;1292:22;;;1269:46;1266:72;;;1318:18;;:::i;:::-;1358:10;1354:2;1347:22;1393:2;1385:6;1378:18;1439:3;1432:4;1427:2;1419:6;1415:15;1411:26;1408:35;1405:55;;;1456:1;1453;1446:12;1405:55;1520:2;1513:4;1505:6;1501:17;1494:4;1486:6;1482:17;1469:54;1567:1;1560:4;1555:2;1547:6;1543:15;1539:26;1532:37;1587:6;1578:15;;;;;;881:718;;;;:::o;1604:173::-;1672:20;;-1:-1:-1;;;;;1721:31:113;;1711:42;;1701:70;;1767:1;1764;1757:12;1701:70;1604:173;;;:::o;1782:1340::-;1914:6;1922;1930;1938;1991:3;1979:9;1970:7;1966:23;1962:33;1959:53;;;2008:1;2005;1998:12;1959:53;2048:9;2035:23;2077:18;2118:2;2110:6;2107:14;2104:34;;;2134:1;2131;2124:12;2104:34;2157:22;;;;2213:3;2195:16;;;2191:26;2188:46;;;2230:1;2227;2220:12;2188:46;2256:17;;:::i;:::-;2309:2;2296:16;2289:5;2282:31;2358:2;2354;2350:11;2337:25;2406:2;2397:7;2393:16;2384:7;2381:29;2371:57;;2424:1;2421;2414:12;2371:57;2455:2;2444:14;;2437:31;2514:2;2506:11;;2493:25;2530:16;;;2527:36;;;2559:1;2556;2549:12;2527:36;2595:44;2631:7;2620:8;2616:2;2612:17;2595:44;:::i;:::-;2590:2;2583:5;2579:14;2572:68;;2686:2;2682;2678:11;2665:25;2715:2;2705:8;2702:16;2699:36;;;2731:1;2728;2721:12;2699:36;2767:44;2803:7;2792:8;2788:2;2784:17;2767:44;:::i;:::-;2762:2;2751:14;;2744:68;-1:-1:-1;2755:5:113;-1:-1:-1;2889:2:113;2874:18;;2861:32;;-1:-1:-1;2905:16:113;;;2902:36;;;2934:1;2931;2924:12;2902:36;;2957:51;3000:7;2989:8;2978:9;2974:24;2957:51;:::i;:::-;2947:61;;;3027:38;3061:2;3050:9;3046:18;3027:38;:::i;:::-;1782:1340;;;;-1:-1:-1;3017:48:113;;3112:2;3097:18;3084:32;;-1:-1:-1;;1782:1340:113:o","linkReferences":{}},"methodIdentifiers":{"run((bytes32,uint64,bytes,bytes),bytes,address,uint256)":"378144b0","supportsInterface(bytes4)":"01ffc9a7","test()":"f8a8fd6d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyPortalOwner\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schemaId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"expirationDate\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"subject\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"attestationData\",\"type\":\"bytes\"}],\"internalType\":\"struct AttestationPayload\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Consensys\",\"kind\":\"dev\",\"methods\":{\"run((bytes32,uint64,bytes,bytes),bytes,address,uint256)\":{\"params\":{\"attestationPayload\":\"The incoming attestation data.\",\"txSender\":\"The transaction sender's address.\",\"validationPayload\":\"Additional data required for verification.\",\"value\":\"The transaction value.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceID\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"A boolean indicating interface support.\"}},\"test()\":{\"details\":\"This empty method prevents Foundry from counting this contract in code coverage\"}},\"title\":\"Old Version Module\",\"version\":1},\"userdoc\":{\"errors\":{\"OnlyPortalOwner()\":[{\"notice\":\"Error thrown when someone else than the portal's owner is trying to revoke\"}]},\"kind\":\"user\",\"methods\":{\"run((bytes32,uint64,bytes,bytes),bytes,address,uint256)\":{\"notice\":\"Executes the module's custom logic.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract implements the Module interface.\"}},\"notice\":\"This contract illustrates an old version of Module that follows the AbstractModule interface\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/OldVersionModuleMock.sol\":\"OldVersionModule\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/abstracts/AbstractModule.sol\":{\"keccak256\":\"0xae791069d8bd3f943d06975383ae0d0231498a8bd70d0ed7c8a815a4fddc9cf8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32efbdee61914e3b91b29aabd5ddbc202546aa910ec005f7ee63a9f57603395\",\"dweb:/ipfs/QmaWYQVQSD5mo1ujPD3rm251UkWcBDcRm8y7i7QXurE2Ky\"]},\"src/types/Structs.sol\":{\"keccak256\":\"0x8e3d41554d3c35181c36e019deddebfa6cb52a3f7b53c73c197fa2a87184ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc65fc7d7491ad0a26c8dd5ca1a1bb54d935ad6b59d99463c781446d57013f2a\",\"dweb:/ipfs/QmTgtxg6oNmf6QnbEcNdQosFutUYs7tkZSeN9KVpKGtWWK\"]},\"test/mocks/OldVersionModuleMock.sol\":{\"keccak256\":\"0x16bd2afd3b43340196f450e63b777500b4c8886704f228c269c5f313fd59c22c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a899d1ae04760d2ed4f70293f130b114ea9ad020134fd75826db853ef31f83cc\",\"dweb:/ipfs/QmfPFoDk1fN35Hs7uP69JR7Q1DidEZVxGfBPHRg5oLdPtr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyPortalOwner"},{"inputs":[{"internalType":"struct AttestationPayload","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"schemaId","type":"bytes32"},{"internalType":"uint64","name":"expirationDate","type":"uint64"},{"internalType":"bytes","name":"subject","type":"bytes"},{"internalType":"bytes","name":"attestationData","type":"bytes"}]},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"run"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test"}],"devdoc":{"kind":"dev","methods":{"run((bytes32,uint64,bytes,bytes),bytes,address,uint256)":{"params":{"attestationPayload":"The incoming attestation data.","txSender":"The transaction sender's address.","validationPayload":"Additional data required for verification.","value":"The transaction value."}},"supportsInterface(bytes4)":{"params":{"interfaceID":"The ID of the interface to check."},"returns":{"_0":"A boolean indicating interface support."}},"test()":{"details":"This empty method prevents Foundry from counting this contract in code coverage"}},"version":1},"userdoc":{"kind":"user","methods":{"run((bytes32,uint64,bytes,bytes),bytes,address,uint256)":{"notice":"Executes the module's custom logic."},"supportsInterface(bytes4)":{"notice":"Checks if the contract implements the Module interface."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/mocks/OldVersionModuleMock.sol":"OldVersionModule"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"src/abstracts/AbstractModule.sol":{"keccak256":"0xae791069d8bd3f943d06975383ae0d0231498a8bd70d0ed7c8a815a4fddc9cf8","urls":["bzz-raw://e32efbdee61914e3b91b29aabd5ddbc202546aa910ec005f7ee63a9f57603395","dweb:/ipfs/QmaWYQVQSD5mo1ujPD3rm251UkWcBDcRm8y7i7QXurE2Ky"],"license":"MIT"},"src/types/Structs.sol":{"keccak256":"0x8e3d41554d3c35181c36e019deddebfa6cb52a3f7b53c73c197fa2a87184ed2a","urls":["bzz-raw://bc65fc7d7491ad0a26c8dd5ca1a1bb54d935ad6b59d99463c781446d57013f2a","dweb:/ipfs/QmTgtxg6oNmf6QnbEcNdQosFutUYs7tkZSeN9KVpKGtWWK"],"license":"MIT"},"test/mocks/OldVersionModuleMock.sol":{"keccak256":"0x16bd2afd3b43340196f450e63b777500b4c8886704f228c269c5f313fd59c22c","urls":["bzz-raw://a899d1ae04760d2ed4f70293f130b114ea9ad020134fd75826db853ef31f83cc","dweb:/ipfs/QmfPFoDk1fN35Hs7uP69JR7Q1DidEZVxGfBPHRg5oLdPtr"],"license":"MIT"}},"version":1},"id":101}