{"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"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint8","internalType":"enum OperationType"}],"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":"0x608060405234801561001057600080fd5b5061023b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780630678be5a1461006d578063f8a8fd6d14610085575b600080fd5b6100596100543660046100be565b610087565b604051901515815260200160405180910390f35b61008561007b36600461011a565b5050505050505050565b005b60006001600160e01b0319821663078777fd60e01b14806100b857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000602082840312156100d057600080fd5b81356001600160e01b0319811681146100e857600080fd5b9392505050565b80356001600160a01b038116811461010657600080fd5b919050565b80356004811061010657600080fd5b60008060008060008060008060e0898b03121561013657600080fd5b883567ffffffffffffffff8082111561014e57600080fd5b908a01906080828d03121561016257600080fd5b90985060208a0135908082111561017857600080fd5b818b0191508b601f83011261018c57600080fd5b81358181111561019b57600080fd5b8c60208285010111156101ad57600080fd5b6020830199508098505050506101c560408a016100ef565b9450606089013593506101da60808a016100ef565b92506101e860a08a016100ef565b91506101f660c08a0161010b565b9050929598509295989093965056fea2646970667358221220609df5d703e225207a82a6f97999c8659a00235e91328fd2d341e230e6beab2c64736f6c63430008150033","sourceMap":"411:485:96:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780630678be5a1461006d578063f8a8fd6d14610085575b600080fd5b6100596100543660046100be565b610087565b604051901515815260200160405180910390f35b61008561007b36600461011a565b5050505050505050565b005b60006001600160e01b0319821663078777fd60e01b14806100b857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000602082840312156100d057600080fd5b81356001600160e01b0319811681146100e857600080fd5b9392505050565b80356001600160a01b038116811461010657600080fd5b919050565b80356004811061010657600080fd5b60008060008060008060008060e0898b03121561013657600080fd5b883567ffffffffffffffff8082111561014e57600080fd5b908a01906080828d03121561016257600080fd5b90985060208a0135908082111561017857600080fd5b818b0191508b601f83011261018c57600080fd5b81358181111561019b57600080fd5b8c60208285010111156101ad57600080fd5b6020830199508098505050506101c560408a016100ef565b9450606089013593506101da60808a016100ef565b92506101e860a08a016100ef565b91506101f660c08a0161010b565b9050929598509295989093965056fea2646970667358221220609df5d703e225207a82a6f97999c8659a00235e91328fd2d341e230e6beab2c64736f6c63430008150033","sourceMap":"411:485:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:198:62;;;;;;:::i;:::-;;:::i;:::-;;;470:14:113;;463:22;445:41;;433:2;418:18;1455:198:62;;;;;;;615:279:96;;;;;;:::i;:::-;;;;;;;;;;;;1455:198:62;1540:4;-1:-1:-1;;;;;;1559:49:62;;-1:-1:-1;;;1559:49:62;;:89;;-1:-1:-1;;;;;;;;;;937:40:49;;;1612:36:62;1552:96;1455:198;-1:-1:-1;;1455:198:62: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:173::-;565:20;;-1:-1:-1;;;;;614:31:113;;604:42;;594:70;;660:1;657;650:12;594:70;497:173;;;:::o;675:154::-;754:20;;803:1;793:12;;783:40;;819:1;816;809:12;834:1266;1016:6;1024;1032;1040;1048;1056;1064;1072;1125:3;1113:9;1104:7;1100:23;1096:33;1093:53;;;1142:1;1139;1132:12;1093:53;1182:9;1169:23;1211:18;1252:2;1244:6;1241:14;1238:34;;;1268:1;1265;1258:12;1238:34;1291:22;;;;1347:3;1329:16;;;1325:26;1322:46;;;1364:1;1361;1354:12;1322:46;1387:2;;-1:-1:-1;1442:2:113;1427:18;;1414:32;;1458:16;;;1455:36;;;1487:1;1484;1477:12;1455:36;1525:8;1514:9;1510:24;1500:34;;1572:7;1565:4;1561:2;1557:13;1553:27;1543:55;;1594:1;1591;1584:12;1543:55;1634:2;1621:16;1660:2;1652:6;1649:14;1646:34;;;1676:1;1673;1666:12;1646:34;1721:7;1716:2;1707:6;1703:2;1699:15;1695:24;1692:37;1689:57;;;1742:1;1739;1732:12;1689:57;1773:2;1769;1765:11;1755:21;;1795:6;1785:16;;;;;1820:38;1854:2;1843:9;1839:18;1820:38;:::i;:::-;1810:48;;1905:2;1894:9;1890:18;1877:32;1867:42;;1928:39;1962:3;1951:9;1947:19;1928:39;:::i;:::-;1918:49;;1986:39;2020:3;2009:9;2005:19;1986:39;:::i;:::-;1976:49;;2044:50;2089:3;2078:9;2074:19;2044:50;:::i;:::-;2034:60;;834:1266;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"run((bytes32,uint64,bytes,bytes),bytes,address,uint256,address,address,uint8)":"0678be5a","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\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum OperationType\",\"name\":\"\",\"type\":\"uint8\"}],\"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,address,address,uint8)\":{\"params\":{\"attestationPayload\":\"The incoming attestation data\",\"attester\":\"The address defined by the Portal as the attester for this payload\",\"initialCaller\":\"The address of the initial caller (transaction sender)\",\"portal\":\"The issuing Portal's address\",\"validationPayload\":\"Additional data required for verification\",\"value\":\"The value (ETH) optionally passed in the attesting transaction\"}},\"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\":\"Correct Module V2\",\"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,address,address,uint8)\":{\"notice\":\"Executes the module's custom logic\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract implements the Module interface.\"}},\"notice\":\"This contract illustrates a valid Module that follows the AbstractModule interface\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/CorrectModuleV2Mock.sol\":\"CorrectModuleV2\"},\"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/AbstractModuleV2.sol\":{\"keccak256\":\"0x87a3060cac439296ef19c719a6abe3776c59ab858c9d935a07e0c70c57387ac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2208b4e53226d1a08ca45ccda9686abc7d339aee8b3554823585fb3acc0c1479\",\"dweb:/ipfs/QmdFMkJ49tBRUCT5oVMFGhub9ZFWL6wzv3jiW35XsLbuYi\"]},\"src/types/Enums.sol\":{\"keccak256\":\"0x6c68eecf740a3f51211c954a99b43ebc2186e7b3e79b6c984937ad5c983e45a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c185006a0fde12fd59733b01578bbeefc2c0349c5f7899cc0652d3e3dd1a142\",\"dweb:/ipfs/QmUsw5sEwBDM4skEaHHdRovDXB12F47pQtUjE4Dq2SBu3t\"]},\"src/types/Structs.sol\":{\"keccak256\":\"0x8e3d41554d3c35181c36e019deddebfa6cb52a3f7b53c73c197fa2a87184ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc65fc7d7491ad0a26c8dd5ca1a1bb54d935ad6b59d99463c781446d57013f2a\",\"dweb:/ipfs/QmTgtxg6oNmf6QnbEcNdQosFutUYs7tkZSeN9KVpKGtWWK\"]},\"test/mocks/CorrectModuleV2Mock.sol\":{\"keccak256\":\"0xdd7493871f64669fc00cd07082a4da81da67b7ebf398ec521005394067b5c131\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d20fb3287c5932a1323c32ec8334b466052df02403b7756ded75c57833cd31fb\",\"dweb:/ipfs/QmVxxkZwABN2Yk6rpxnbAG8ijTHT7F2TPrkoyfciTzpkY7\"]}},\"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"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"enum OperationType","name":"","type":"uint8"}],"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,address,address,uint8)":{"params":{"attestationPayload":"The incoming attestation data","attester":"The address defined by the Portal as the attester for this payload","initialCaller":"The address of the initial caller (transaction sender)","portal":"The issuing Portal's address","validationPayload":"Additional data required for verification","value":"The value (ETH) optionally passed in the attesting transaction"}},"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,address,address,uint8)":{"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/CorrectModuleV2Mock.sol":"CorrectModuleV2"},"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/AbstractModuleV2.sol":{"keccak256":"0x87a3060cac439296ef19c719a6abe3776c59ab858c9d935a07e0c70c57387ac3","urls":["bzz-raw://2208b4e53226d1a08ca45ccda9686abc7d339aee8b3554823585fb3acc0c1479","dweb:/ipfs/QmdFMkJ49tBRUCT5oVMFGhub9ZFWL6wzv3jiW35XsLbuYi"],"license":"MIT"},"src/types/Enums.sol":{"keccak256":"0x6c68eecf740a3f51211c954a99b43ebc2186e7b3e79b6c984937ad5c983e45a2","urls":["bzz-raw://6c185006a0fde12fd59733b01578bbeefc2c0349c5f7899cc0652d3e3dd1a142","dweb:/ipfs/QmUsw5sEwBDM4skEaHHdRovDXB12F47pQtUjE4Dq2SBu3t"],"license":"MIT"},"src/types/Structs.sol":{"keccak256":"0x8e3d41554d3c35181c36e019deddebfa6cb52a3f7b53c73c197fa2a87184ed2a","urls":["bzz-raw://bc65fc7d7491ad0a26c8dd5ca1a1bb54d935ad6b59d99463c781446d57013f2a","dweb:/ipfs/QmTgtxg6oNmf6QnbEcNdQosFutUYs7tkZSeN9KVpKGtWWK"],"license":"MIT"},"test/mocks/CorrectModuleV2Mock.sol":{"keccak256":"0xdd7493871f64669fc00cd07082a4da81da67b7ebf398ec521005394067b5c131","urls":["bzz-raw://d20fb3287c5932a1323c32ec8334b466052df02403b7756ded75c57833cd31fb","dweb:/ipfs/QmVxxkZwABN2Yk6rpxnbAG8ijTHT7F2TPrkoyfciTzpkY7"],"license":"MIT"}},"version":1},"id":96}