{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bulkRunModules","inputs":[{"name":"modulesAddresses","type":"address[]","internalType":"address[]"},{"name":"attestationsPayloads","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":"validationPayloads","type":"bytes[][]","internalType":"bytes[][]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bulkRunModulesV2","inputs":[{"name":"modulesAddresses","type":"address[]","internalType":"address[]"},{"name":"attestationPayloads","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":"validationPayloads","type":"bytes[][]","internalType":"bytes[][]"},{"name":"initialCaller","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"operationType","type":"uint8","internalType":"enum OperationType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_router","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isContractAddress","inputs":[{"name":"contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isRegistered","inputs":[{"name":"moduleAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"modules","inputs":[{"name":"id","type":"address","internalType":"address"}],"outputs":[{"name":"moduleAddress","type":"address","internalType":"address"},{"name":"name","type":"string","internalType":"string"},{"name":"description","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"register","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"description","type":"string","internalType":"string"},{"name":"moduleAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"router","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRouter"}],"stateMutability":"view"},{"type":"function","name":"runModules","inputs":[{"name":"modulesAddresses","type":"address[]","internalType":"address[]"},{"name":"attestationPayload","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":"validationPayloads","type":"bytes[]","internalType":"bytes[]"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"runModulesV2","inputs":[{"name":"modulesAddresses","type":"address[]","internalType":"address[]"},{"name":"attestationPayload","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":"validationPayloads","type":"bytes[]","internalType":"bytes[]"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"initialCaller","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"operationType","type":"uint8","internalType":"enum OperationType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ModuleRegistered","inputs":[{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"description","type":"string","indexed":false,"internalType":"string"},{"name":"moduleAddress","type":"address","indexed":false,"internalType":"address"}],"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":"RouterSet","inputs":[{"name":"router","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AttestationPayloadMissing","inputs":[]},{"type":"error","name":"ModuleAddressInvalid","inputs":[]},{"type":"error","name":"ModuleAlreadyExists","inputs":[]},{"type":"error","name":"ModuleInvalid","inputs":[]},{"type":"error","name":"ModuleNameMissing","inputs":[]},{"type":"error","name":"ModuleNotRegistered","inputs":[]},{"type":"error","name":"ModuleValidationPayloadMismatch","inputs":[]},{"type":"error","name":"OnlyAllowlisted","inputs":[]},{"type":"error","name":"RouterAddressInvalid","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611787806100ec6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a8ee49fe1161008c578063e2baec4a11610066578063e2baec4a146101b6578063e8e253ca146101c9578063f2fde38b146101dc578063f887ea40146101ef57600080fd5b8063a8ee49fe1461016e578063c3c5a54714610190578063c4d66de8146101a357600080fd5b80635664d69c146100d4578063715018a6146100e957806379638ef1146100f15780638da5cb5b146101045780638ed9606a1461012e578063a8015e431461015b575b600080fd5b6100e76100e2366004610e69565b610202565b005b6100e76104e8565b6100e76100ff366004610f46565b6104fc565b6033546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61014b61013c366004611014565b6001600160a01b03163b151590565b6040519015158152602001610125565b6100e7610169366004611049565b610584565b61018161017c366004611014565b6106e4565b60405161012593929190611152565b61014b61019e366004611014565b610821565b6100e76101b1366004611014565b610854565b6100e76101c4366004611192565b6109e3565b6100e76101d736600461122c565b610a65565b6100e76101ea366004611014565b610ba7565b606554610111906001600160a01b031681565b60655460408051635bed64bb60e11b8152905133926001600160a01b03169163b7dac9769160048083019260209291908290030181865afa15801561024b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026f91906112c9565b6040516305a3b80960e01b81526001600160a01b03838116600483015291909116906305a3b80990602401602060405180830381865afa1580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906112e6565b6102f85760405163acf8a02d60e01b815260040160405180910390fd5b600085900361031957604051628fcf4360e71b815260040160405180910390fd5b6001600160a01b0382163b6103415760405163e9a0ae2960e01b815260040160405180910390fd5b6103528263078777fd60e01b610c20565b61036f576040516374be437f60e01b815260040160405180910390fd5b6001600160a01b0382166000908152606660205260408120600101805461039590611308565b905011156103b657604051632157f2d760e01b815260040160405180910390fd5b6040518060600160405280836001600160a01b0316815260200187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f88018190048102820181019092528681529181019190879087908190840183828082843760009201829052509390945250506001600160a01b038581168252606660209081526040909220845181546001600160a01b0319169216919091178155908301519091506001820190610488908261139d565b506040820151600282019061049d908261139d565b509050507fceccd3e08ae8e7df061ddbcd07655a0d0ee04296ddcf9cb2a95bc7b9e23bd72986868686866040516104d8959493929190611486565b60405180910390a1505050505050565b6104f0610c43565b6104fa6000610c9d565b565b60005b63ffffffff8116871115610578576105708a8a8a8a8563ffffffff1681811061052a5761052a6114c8565b905060200281019061053c91906114de565b89898663ffffffff16818110610554576105546114c8565b905060200281019061056691906114fe565b60008a8a8a610584565b6001016104ff565b50505050505050505050565b87156106d9578785146105aa5760405163083247ad60e01b815260040160405180910390fd5b60005b63ffffffff8116891115610578576105eb8a8a8363ffffffff168181106105d6576105d66114c8565b905060200201602081019061019e9190611014565b61060857604051634e25774f60e11b815260040160405180910390fd5b89898263ffffffff16818110610620576106206114c8565b90506020020160208101906106359190611014565b6001600160a01b0316630678be5a8989898563ffffffff1681811061065c5761065c6114c8565b905060200281019061066e9190611548565b888a89338a6040518963ffffffff1660e01b8152600401610696989796959493929190611642565b600060405180830381600087803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b505050506106d28160010190565b90506105ad565b505050505050505050565b606660205260009081526040902080546001820180546001600160a01b03909216929161071090611308565b80601f016020809104026020016040519081016040528092919081815260200182805461073c90611308565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b50505050509080600201805461079e90611308565b80601f01602080910402602001604051908101604052809291908181526020018280546107ca90611308565b80156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905083565b6001600160a01b0381166000908152606660205260408120600101805482919061084a90611308565b9050119050919050565b600054610100900460ff16158080156108745750600054600160ff909116105b8061088e5750303b15801561088e575060005460ff166001145b6108f65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610919576000805461ff0019166101001790555b610921610cef565b6001600160a01b038216610948576040516380560ee760e01b815260040160405180910390fd5b606580546001600160a01b0319166001600160a01b0384169081179091556040519081527fc6b438e6a8a59579ce6a4406cbd203b740e0d47b458aae6596339bcd40c40d159060200160405180910390a180156109df576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60005b63ffffffff8116841115610a5c57610a54878787878563ffffffff16818110610a1157610a116114c8565b9050602002810190610a2391906114de565b86868663ffffffff16818110610a3b57610a3b6114c8565b9050602002810190610a4d91906114fe565b6000610a65565b6001016109e6565b50505050505050565b8415610b9f57848214610a8b5760405163083247ad60e01b815260040160405180910390fd5b60005b63ffffffff8116861115610a5c57610ab787878363ffffffff168181106105d6576105d66114c8565b610ad457604051634e25774f60e11b815260040160405180910390fd5b86868263ffffffff16818110610aec57610aec6114c8565b9050602002016020810190610b019190611014565b6001600160a01b031663378144b08686868563ffffffff16818110610b2857610b286114c8565b9050602002810190610b3a9190611548565b32876040518663ffffffff1660e01b8152600401610b5c9594939291906116c2565b600060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b50505050610b988160010190565b9050610a8e565b505050505050565b610baf610c43565b6001600160a01b038116610c145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ed565b610c1d81610c9d565b50565b6000610c2b83610d1e565b8015610c3c5750610c3c8383610d52565b9392505050565b6033546001600160a01b031633146104fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ed565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610d165760405162461bcd60e51b81526004016108ed90611706565b6104fa610ddb565b6000610d31826301ffc9a760e01b610d52565b8015610d4c5750610d4a826001600160e01b0319610d52565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015610dc4575060208210155b8015610dd05750600081115b979650505050505050565b600054610100900460ff16610e025760405162461bcd60e51b81526004016108ed90611706565b6104fa33610c9d565b60008083601f840112610e1d57600080fd5b50813567ffffffffffffffff811115610e3557600080fd5b602083019150836020828501011115610e4d57600080fd5b9250929050565b6001600160a01b0381168114610c1d57600080fd5b600080600080600060608688031215610e8157600080fd5b853567ffffffffffffffff80821115610e9957600080fd5b610ea589838a01610e0b565b90975095506020880135915080821115610ebe57600080fd5b50610ecb88828901610e0b565b9094509250506040860135610edf81610e54565b809150509295509295909350565b60008083601f840112610eff57600080fd5b50813567ffffffffffffffff811115610f1757600080fd5b6020830191508360208260051b8501011115610e4d57600080fd5b803560048110610f4157600080fd5b919050565b600080600080600080600080600060c08a8c031215610f6457600080fd5b893567ffffffffffffffff80821115610f7c57600080fd5b610f888d838e01610eed565b909b50995060208c0135915080821115610fa157600080fd5b610fad8d838e01610eed565b909950975060408c0135915080821115610fc657600080fd5b50610fd38c828d01610eed565b90965094505060608a0135610fe781610e54565b925060808a0135610ff781610e54565b915061100560a08b01610f32565b90509295985092959850929598565b60006020828403121561102657600080fd5b8135610c3c81610e54565b60006080828403121561104357600080fd5b50919050565b600080600080600080600080600060e08a8c03121561106757600080fd5b893567ffffffffffffffff8082111561107f57600080fd5b61108b8d838e01610eed565b909b50995060208c01359150808211156110a457600080fd5b6110b08d838e01611031565b985060408c01359150808211156110c657600080fd5b506110d38c828d01610eed565b90975095505060608a0135935060808a01356110ee81610e54565b925060a08a01356110fe81610e54565b915061100560c08b01610f32565b6000815180845260005b8181101561113257602081850181015186830182015201611116565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03841681526060602082018190526000906111769083018561110c565b8281036040840152611188818561110c565b9695505050505050565b600080600080600080606087890312156111ab57600080fd5b863567ffffffffffffffff808211156111c357600080fd5b6111cf8a838b01610eed565b909850965060208901359150808211156111e857600080fd5b6111f48a838b01610eed565b9096509450604089013591508082111561120d57600080fd5b5061121a89828a01610eed565b979a9699509497509295939492505050565b6000806000806000806080878903121561124557600080fd5b863567ffffffffffffffff8082111561125d57600080fd5b6112698a838b01610eed565b9098509650602089013591508082111561128257600080fd5b61128e8a838b01611031565b955060408901359150808211156112a457600080fd5b506112b189828a01610eed565b979a9699509497949695606090950135949350505050565b6000602082840312156112db57600080fd5b8151610c3c81610e54565b6000602082840312156112f857600080fd5b81518015158114610c3c57600080fd5b600181811c9082168061131c57607f821691505b60208210810361104357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b601f82111561139857600081815260208120601f850160051c810160208610156113795750805b601f850160051c820191505b81811015610b9f57828155600101611385565b505050565b815167ffffffffffffffff8111156113b7576113b761133c565b6113cb816113c58454611308565b84611352565b602080601f83116001811461140057600084156113e85750858301515b600019600386901b1c1916600185901b178555610b9f565b600085815260208120601f198616915b8281101561142f57888601518255948401946001909101908401611410565b508582101561144d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152600061149a60608301878961145d565b82810360208401526114ad81868861145d565b91505060018060a01b03831660408301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008235607e198336030181126114f457600080fd5b9190910192915050565b6000808335601e1984360301811261151557600080fd5b83018035915067ffffffffffffffff82111561153057600080fd5b6020019150600581901b3603821315610e4d57600080fd5b6000808335601e1984360301811261155f57600080fd5b83018035915067ffffffffffffffff82111561157a57600080fd5b602001915036819003821315610e4d57600080fd5b6000808335601e198436030181126115a657600080fd5b830160208101925035905067ffffffffffffffff8111156115c657600080fd5b803603821315610e4d57600080fd5b803582526000602082013567ffffffffffffffff81168082146115f757600080fd5b60208501525061160a604083018361158f565b6080604086015261161f60808601828461145d565b91505061162f606084018461158f565b858303606087015261118883828461145d565b60e08152600061165560e083018b6115d5565b8281036020840152611668818a8c61145d565b6001600160a01b038981166040860152606085018990528781166080860152861660a0850152915050600483106116af57634e487b7160e01b600052602160045260246000fd5b8260c08301529998505050505050505050565b6080815260006116d560808301886115d5565b82810360208401526116e881878961145d565b6001600160a01b039590951660408401525050606001529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220e7133b6f5e2e56fecaee8d0753dafd8613f605aa49db2e929ef7e91ca90cc65264736f6c63430008150033","sourceMap":"901:9784:57:-:0;;;2807:47;;;;;;;;;-1:-1:-1;2827:22:57;:20;:22::i;:::-;901:9784;;5939:280:24;6007:13;;;;;;;6006:14;5998:66;;;;-1:-1:-1;;;5998:66:24;;216:2:113;5998:66:24;;;198:21:113;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:113;;;338:37;392:19;;5998:66:24;;;;;;;;6078:12;;6094:15;6078:12;;;:31;6074:139;;6125:12;:30;;-1:-1:-1;;6125:30:24;6140:15;6125:30;;;;;;6174:28;;564:36:113;;;6174:28:24;;552:2:113;537:18;6174:28:24;;;;;;;6074:139;5939:280::o;422:184:113:-;901:9784:57;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a8ee49fe1161008c578063e2baec4a11610066578063e2baec4a146101b6578063e8e253ca146101c9578063f2fde38b146101dc578063f887ea40146101ef57600080fd5b8063a8ee49fe1461016e578063c3c5a54714610190578063c4d66de8146101a357600080fd5b80635664d69c146100d4578063715018a6146100e957806379638ef1146100f15780638da5cb5b146101045780638ed9606a1461012e578063a8015e431461015b575b600080fd5b6100e76100e2366004610e69565b610202565b005b6100e76104e8565b6100e76100ff366004610f46565b6104fc565b6033546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61014b61013c366004611014565b6001600160a01b03163b151590565b6040519015158152602001610125565b6100e7610169366004611049565b610584565b61018161017c366004611014565b6106e4565b60405161012593929190611152565b61014b61019e366004611014565b610821565b6100e76101b1366004611014565b610854565b6100e76101c4366004611192565b6109e3565b6100e76101d736600461122c565b610a65565b6100e76101ea366004611014565b610ba7565b606554610111906001600160a01b031681565b60655460408051635bed64bb60e11b8152905133926001600160a01b03169163b7dac9769160048083019260209291908290030181865afa15801561024b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026f91906112c9565b6040516305a3b80960e01b81526001600160a01b03838116600483015291909116906305a3b80990602401602060405180830381865afa1580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906112e6565b6102f85760405163acf8a02d60e01b815260040160405180910390fd5b600085900361031957604051628fcf4360e71b815260040160405180910390fd5b6001600160a01b0382163b6103415760405163e9a0ae2960e01b815260040160405180910390fd5b6103528263078777fd60e01b610c20565b61036f576040516374be437f60e01b815260040160405180910390fd5b6001600160a01b0382166000908152606660205260408120600101805461039590611308565b905011156103b657604051632157f2d760e01b815260040160405180910390fd5b6040518060600160405280836001600160a01b0316815260200187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f88018190048102820181019092528681529181019190879087908190840183828082843760009201829052509390945250506001600160a01b038581168252606660209081526040909220845181546001600160a01b0319169216919091178155908301519091506001820190610488908261139d565b506040820151600282019061049d908261139d565b509050507fceccd3e08ae8e7df061ddbcd07655a0d0ee04296ddcf9cb2a95bc7b9e23bd72986868686866040516104d8959493929190611486565b60405180910390a1505050505050565b6104f0610c43565b6104fa6000610c9d565b565b60005b63ffffffff8116871115610578576105708a8a8a8a8563ffffffff1681811061052a5761052a6114c8565b905060200281019061053c91906114de565b89898663ffffffff16818110610554576105546114c8565b905060200281019061056691906114fe565b60008a8a8a610584565b6001016104ff565b50505050505050505050565b87156106d9578785146105aa5760405163083247ad60e01b815260040160405180910390fd5b60005b63ffffffff8116891115610578576105eb8a8a8363ffffffff168181106105d6576105d66114c8565b905060200201602081019061019e9190611014565b61060857604051634e25774f60e11b815260040160405180910390fd5b89898263ffffffff16818110610620576106206114c8565b90506020020160208101906106359190611014565b6001600160a01b0316630678be5a8989898563ffffffff1681811061065c5761065c6114c8565b905060200281019061066e9190611548565b888a89338a6040518963ffffffff1660e01b8152600401610696989796959493929190611642565b600060405180830381600087803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b505050506106d28160010190565b90506105ad565b505050505050505050565b606660205260009081526040902080546001820180546001600160a01b03909216929161071090611308565b80601f016020809104026020016040519081016040528092919081815260200182805461073c90611308565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b50505050509080600201805461079e90611308565b80601f01602080910402602001604051908101604052809291908181526020018280546107ca90611308565b80156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905083565b6001600160a01b0381166000908152606660205260408120600101805482919061084a90611308565b9050119050919050565b600054610100900460ff16158080156108745750600054600160ff909116105b8061088e5750303b15801561088e575060005460ff166001145b6108f65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610919576000805461ff0019166101001790555b610921610cef565b6001600160a01b038216610948576040516380560ee760e01b815260040160405180910390fd5b606580546001600160a01b0319166001600160a01b0384169081179091556040519081527fc6b438e6a8a59579ce6a4406cbd203b740e0d47b458aae6596339bcd40c40d159060200160405180910390a180156109df576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60005b63ffffffff8116841115610a5c57610a54878787878563ffffffff16818110610a1157610a116114c8565b9050602002810190610a2391906114de565b86868663ffffffff16818110610a3b57610a3b6114c8565b9050602002810190610a4d91906114fe565b6000610a65565b6001016109e6565b50505050505050565b8415610b9f57848214610a8b5760405163083247ad60e01b815260040160405180910390fd5b60005b63ffffffff8116861115610a5c57610ab787878363ffffffff168181106105d6576105d66114c8565b610ad457604051634e25774f60e11b815260040160405180910390fd5b86868263ffffffff16818110610aec57610aec6114c8565b9050602002016020810190610b019190611014565b6001600160a01b031663378144b08686868563ffffffff16818110610b2857610b286114c8565b9050602002810190610b3a9190611548565b32876040518663ffffffff1660e01b8152600401610b5c9594939291906116c2565b600060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b50505050610b988160010190565b9050610a8e565b505050505050565b610baf610c43565b6001600160a01b038116610c145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ed565b610c1d81610c9d565b50565b6000610c2b83610d1e565b8015610c3c5750610c3c8383610d52565b9392505050565b6033546001600160a01b031633146104fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ed565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610d165760405162461bcd60e51b81526004016108ed90611706565b6104fa610ddb565b6000610d31826301ffc9a760e01b610d52565b8015610d4c5750610d4a826001600160e01b0319610d52565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015610dc4575060208210155b8015610dd05750600081115b979650505050505050565b600054610100900460ff16610e025760405162461bcd60e51b81526004016108ed90611706565b6104fa33610c9d565b60008083601f840112610e1d57600080fd5b50813567ffffffffffffffff811115610e3557600080fd5b602083019150836020828501011115610e4d57600080fd5b9250929050565b6001600160a01b0381168114610c1d57600080fd5b600080600080600060608688031215610e8157600080fd5b853567ffffffffffffffff80821115610e9957600080fd5b610ea589838a01610e0b565b90975095506020880135915080821115610ebe57600080fd5b50610ecb88828901610e0b565b9094509250506040860135610edf81610e54565b809150509295509295909350565b60008083601f840112610eff57600080fd5b50813567ffffffffffffffff811115610f1757600080fd5b6020830191508360208260051b8501011115610e4d57600080fd5b803560048110610f4157600080fd5b919050565b600080600080600080600080600060c08a8c031215610f6457600080fd5b893567ffffffffffffffff80821115610f7c57600080fd5b610f888d838e01610eed565b909b50995060208c0135915080821115610fa157600080fd5b610fad8d838e01610eed565b909950975060408c0135915080821115610fc657600080fd5b50610fd38c828d01610eed565b90965094505060608a0135610fe781610e54565b925060808a0135610ff781610e54565b915061100560a08b01610f32565b90509295985092959850929598565b60006020828403121561102657600080fd5b8135610c3c81610e54565b60006080828403121561104357600080fd5b50919050565b600080600080600080600080600060e08a8c03121561106757600080fd5b893567ffffffffffffffff8082111561107f57600080fd5b61108b8d838e01610eed565b909b50995060208c01359150808211156110a457600080fd5b6110b08d838e01611031565b985060408c01359150808211156110c657600080fd5b506110d38c828d01610eed565b90975095505060608a0135935060808a01356110ee81610e54565b925060a08a01356110fe81610e54565b915061100560c08b01610f32565b6000815180845260005b8181101561113257602081850181015186830182015201611116565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03841681526060602082018190526000906111769083018561110c565b8281036040840152611188818561110c565b9695505050505050565b600080600080600080606087890312156111ab57600080fd5b863567ffffffffffffffff808211156111c357600080fd5b6111cf8a838b01610eed565b909850965060208901359150808211156111e857600080fd5b6111f48a838b01610eed565b9096509450604089013591508082111561120d57600080fd5b5061121a89828a01610eed565b979a9699509497509295939492505050565b6000806000806000806080878903121561124557600080fd5b863567ffffffffffffffff8082111561125d57600080fd5b6112698a838b01610eed565b9098509650602089013591508082111561128257600080fd5b61128e8a838b01611031565b955060408901359150808211156112a457600080fd5b506112b189828a01610eed565b979a9699509497949695606090950135949350505050565b6000602082840312156112db57600080fd5b8151610c3c81610e54565b6000602082840312156112f857600080fd5b81518015158114610c3c57600080fd5b600181811c9082168061131c57607f821691505b60208210810361104357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b601f82111561139857600081815260208120601f850160051c810160208610156113795750805b601f850160051c820191505b81811015610b9f57828155600101611385565b505050565b815167ffffffffffffffff8111156113b7576113b761133c565b6113cb816113c58454611308565b84611352565b602080601f83116001811461140057600084156113e85750858301515b600019600386901b1c1916600185901b178555610b9f565b600085815260208120601f198616915b8281101561142f57888601518255948401946001909101908401611410565b508582101561144d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152600061149a60608301878961145d565b82810360208401526114ad81868861145d565b91505060018060a01b03831660408301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008235607e198336030181126114f457600080fd5b9190910192915050565b6000808335601e1984360301811261151557600080fd5b83018035915067ffffffffffffffff82111561153057600080fd5b6020019150600581901b3603821315610e4d57600080fd5b6000808335601e1984360301811261155f57600080fd5b83018035915067ffffffffffffffff82111561157a57600080fd5b602001915036819003821315610e4d57600080fd5b6000808335601e198436030181126115a657600080fd5b830160208101925035905067ffffffffffffffff8111156115c657600080fd5b803603821315610e4d57600080fd5b803582526000602082013567ffffffffffffffff81168082146115f757600080fd5b60208501525061160a604083018361158f565b6080604086015261161f60808601828461145d565b91505061162f606084018461158f565b858303606087015261118883828461145d565b60e08152600061165560e083018b6115d5565b8281036020840152611668818a8c61145d565b6001600160a01b038981166040860152606085018990528781166080860152861660a0850152915050600483106116af57634e487b7160e01b600052602160045260246000fd5b8260c08301529998505050505050505050565b6080815260006116d560808301886115d5565b82810360208401526116e881878961145d565b6001600160a01b039590951660408401525050606001529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220e7133b6f5e2e56fecaee8d0753dafd8613f605aa49db2e929ef7e91ca90cc65264736f6c63430008150033","sourceMap":"901:9784:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4189:824;;;;;;:::i;:::-;;:::i;:::-;;2085:101:23;;;:::i;9796:541:57:-;;;;;;:::i;:::-;;:::i;1462:85:23:-;1534:6;;-1:-1:-1;;;;;1534:6:23;1462:85;;;-1:-1:-1;;;;;3612:32:113;;;3594:51;;3582:2;3567:18;1462:85:23;;;;;;;;3605:128:57;;;;;;:::i;:::-;-1:-1:-1;;;;;3697:27:57;;:31;;;3605:128;;;;4073:14:113;;4066:22;4048:41;;4036:2;4021:18;3605:128:57;3908:187:113;6921:1014:57;;;;;;:::i;:::-;;:::i;1034:51::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;10548:135::-;;;;;;:::i;:::-;;:::i;2962:205::-;;;;;;:::i;:::-;;:::i;8685:354::-;;;;;;:::i;:::-;;:::i;5405:864::-;;;;;;:::i;:::-;;:::i;2335:198:23:-;;;;;;:::i;:::-;;:::i;951:21:57:-;;;;;-1:-1:-1;;;;;951:21:57;;;4189:824;3332:6;;:26;;;-1:-1:-1;;;3332:26:57;;;;4320:10;;-1:-1:-1;;;;;3332:6:57;;:24;;:26;;;;;;;;;;;;;;:6;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3317:62;;-1:-1:-1;;;3317:62:57;;-1:-1:-1;;;;;3612:32:113;;;3317:62:57;;;3594:51:113;3317:56:57;;;;;;;3567:18:113;;3317:62:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3312:93;;3388:17;;-1:-1:-1;;;3388:17:57;;;;;;;;;;;3312:93;4364:1:::1;4342:23:::0;;;4338:55:::1;;4374:19;;-1:-1:-1::0;;;4374:19:57::1;;;;;;;;;;;4338:55;-1:-1:-1::0;;;;;3697:27:57;;;4457:68:::1;;4503:22;;-1:-1:-1::0;;;4503:22:57::1;;;;;;;;;;;4457:68;4592:93;4635:13;-1:-1:-1::0;;;4592:42:57::1;:93::i;:::-;4587:137;;4702:15;;-1:-1:-1::0;;;4702:15:57::1;;;;;;;;;;;4587:137;-1:-1:-1::0;;;;;4806:22:57;::::1;4844:1;4806:22:::0;;;:7:::1;:22;::::0;;;;:27:::1;;4800:41:::0;;::::1;::::0;::::1;:::i;:::-;;;:45;4796:79;;;4854:21;;-1:-1:-1::0;;;4854:21:57::1;;;;;;;;;;;4796:79;4907:40;;;;;;;;4914:13;-1:-1:-1::0;;;;;4907:40:57::1;;;;;4929:4;;4907:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;;4907:40:57;;;-1:-1:-1;4907:40:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;4935:11;;;;;;4907:40;::::1;4935:11:::0;;;;4907:40;::::1;;::::0;::::1;::::0;;;-1:-1:-1;4907:40:57;;;;-1:-1:-1;;;;;;;4882:22:57;;::::1;::::0;;:7:::1;:22;::::0;;;;;;;:65;;;;-1:-1:-1;;;;;;4882:65:57::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;:22;;-1:-1:-1;;4882:65:57;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;4882:65:57::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;4958:50;4975:4;;4981:11;;4994:13;4958:50;;;;;;;;;;:::i;:::-;;;;;;;;4189:824:::0;;;;;;:::o;2085:101:23:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;9796:541:57:-;10065:8;10060:273;10079:30;;;;-1:-1:-1;10060:273:57;;;10142:184;10164:16;;10190:19;;10210:1;10190:22;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;10222:18;;10241:1;10222:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;10253:1;10264:13;10287:8;10305:13;10142:12;:184::i;:::-;865:1:55;861:5;10060:273:57;;;;9796:541;;;;;;;;;:::o;6921:1014::-;7250:41;;7284:7;7250:41;7387:52;;;7383:98;;7448:33;;-1:-1:-1;;;7448:33:57;;;;;;;;;;;7383:98;7567:8;7562:369;7581:27;;;;-1:-1:-1;7562:369:57;;;7646:33;7659:16;;7676:1;7659:19;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;7646:33::-;7641:68;;7688:21;;-1:-1:-1;;;7688:21:57;;;;;;;;;;;7641:68;7734:16;;7751:1;7734:19;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7717:41:57;;7768:18;7796;;7815:1;7796:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7827:13;7850:5;7865:8;7883:10;7903:13;7717:207;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7614:17;7629:1;865::55;861:5;;779:94;7614:17:57;7610:21;;7562:369;;6921:1014;;;;;;;;;;:::o;1034:51::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1034:51:57;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10548:135::-;-1:-1:-1;;;;;10639:22:57;;10614:4;10639:22;;;:7;:22;;;;;:27;;10633:41;;10614:4;;10639:27;10633:41;;;:::i;:::-;;;:45;10626:52;;10548:135;;;:::o;2962:205::-;3279:19:24;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:24;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:24;3697:27:57;:31;;;3387:66:24;;-1:-1:-1;3436:12:24;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:24;;17401:2:113;3325:201:24;;;17383:21:113;17440:2;17420:18;;;17413:30;17479:34;17459:18;;;17452:62;-1:-1:-1;;;17530:18:113;;;17523:44;17584:19;;3325:201:24;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:24;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:24;;;;;3562:65;3024:16:57::1;:14;:16::i;:::-;-1:-1:-1::0;;;;;3050:21:57;::::1;3046:56;;3080:22;;-1:-1:-1::0;;;3080:22:57::1;;;;;;;;;;;3046:56;3108:6;:25:::0;;-1:-1:-1;;;;;;3108:25:57::1;-1:-1:-1::0;;;;;3108:25:57;::::1;::::0;;::::1;::::0;;;3144:18:::1;::::0;3594:51:113;;;3144:18:57::1;::::0;3582:2:113;3567:18;3144::57::1;;;;;;;3651:14:24::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:24;;;3721:14;;-1:-1:-1;17766:36:113;;3721:14:24;;17754:2:113;17739:18;3721:14:24;;;;;;;3647:99;3269:483;2962:205:57;:::o;8685:354::-;8871:8;8866:169;8885:31;;;;-1:-1:-1;8866:169:57;;;8949:79;8960:16;;8978:20;;8999:1;8978:23;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;9003:18;;9022:1;9003:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;9026:1;8949:10;:79::i;:::-;865:1:55;861:5;8866:169:57;;;;8685:354;;;;;;:::o;5405:864::-;5650:41;;5684:7;5650:41;5787:52;;;5783:98;;5848:33;;-1:-1:-1;;;5848:33:57;;;;;;;;;;;5783:98;5967:8;5962:303;5981:27;;;;-1:-1:-1;5962:303:57;;;6046:33;6059:16;;6076:1;6059:19;;;;;;;;;:::i;6046:33::-;6041:68;;6088:21;;-1:-1:-1;;;6088:21:57;;;;;;;;;;;6041:68;6173:16;;6190:1;6173:19;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6158:39:57;;6198:18;6218;;6237:1;6218:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6241:9;6252:5;6158:100;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6014:17;6029:1;865::55;861:5;;779:94;6014:17:57;6010:21;;5962:303;;5405:864;;;;;;;:::o;2335:198:23:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:23;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:23;;18682:2:113;2415:73:23::1;::::0;::::1;18664:21:113::0;18721:2;18701:18;;;18694:30;18760:34;18740:18;;;18733:62;-1:-1:-1;;;18811:18:113;;;18804:36;18857:19;;2415:73:23::1;18480:402:113::0;2415:73:23::1;2498:28;2517:8;2498:18;:28::i;:::-;2335:198:::0;:::o;1382:282:27:-;1469:4;1576:23;1591:7;1576:14;:23::i;:::-;:81;;;;;1603:54;1636:7;1645:11;1603:32;:54::i;:::-;1569:88;1382:282;-1:-1:-1;;;1382:282:27:o;1620:130:23:-;1534:6;;-1:-1:-1;;;;;1534:6:23;965:10:26;1683:23:23;1675:68;;;;-1:-1:-1;;;1675:68:23;;19089:2:113;1675:68:23;;;19071:21:113;;;19108:18;;;19101:30;19167:34;19147:18;;;19140:62;19219:18;;1675:68:23;18887:356:113;2687:187:23;2779:6;;;-1:-1:-1;;;;;2795:17:23;;;-1:-1:-1;;;;;;2795:17:23;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1024:95::-;5374:13:24;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:24;;;;;;;:::i;:::-;1086:26:23::1;:24;:26::i;726:438:27:-:0;790:4;997:79;1030:7;-1:-1:-1;;;997:32:27;:79::i;:::-;:160;;;;-1:-1:-1;1093:64:27;1126:7;-1:-1:-1;;;;;;1093:32:27;:64::i;:::-;1092:65;997:160;978:179;726:438;-1:-1:-1;;726:438:27:o;4454:658::-;4625:82;;;-1:-1:-1;;;;;;19822:33:113;;4625:82:27;;;;19804:52:113;;;;4625:82:27;;;;;;;;;;19777:18:113;;;;4625:82:27;;;;;;;;;-1:-1:-1;;;;;4625:82:27;-1:-1:-1;;;4625:82:27;;;4915:20;;4556:4;;4625:82;4556:4;;;;;;4625:82;4556:4;;4915:20;4880:7;4873:5;4862:86;4851:97;;4975:16;4961:30;;5025:4;5019:11;5004:26;;5057:7;:29;;;;;5082:4;5068:10;:18;;5057:29;:48;;;;;5104:1;5090:11;:15;5057:48;5050:55;4454:658;-1:-1:-1;;;;;;;4454:658:27:o;1125:111:23:-;5374:13:24;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:24;;;;;;;:::i;:::-;1197:32:23::1;965:10:26::0;1197:18:23::1;:32::i;14:348:113:-:0;66:8;76:6;130:3;123:4;115:6;111:17;107:27;97:55;;148:1;145;138:12;97:55;-1:-1:-1;171:20:113;;214:18;203:30;;200:50;;;246:1;243;236:12;200:50;283:4;275:6;271:17;259:29;;335:3;328:4;319:6;311;307:19;303:30;300:39;297:59;;;352:1;349;342:12;297:59;14:348;;;;;:::o;367:131::-;-1:-1:-1;;;;;442:31:113;;432:42;;422:70;;488:1;485;478:12;503:856;604:6;612;620;628;636;689:2;677:9;668:7;664:23;660:32;657:52;;;705:1;702;695:12;657:52;745:9;732:23;774:18;815:2;807:6;804:14;801:34;;;831:1;828;821:12;801:34;870:59;921:7;912:6;901:9;897:22;870:59;:::i;:::-;948:8;;-1:-1:-1;844:85:113;-1:-1:-1;1036:2:113;1021:18;;1008:32;;-1:-1:-1;1052:16:113;;;1049:36;;;1081:1;1078;1071:12;1049:36;;1120:61;1173:7;1162:8;1151:9;1147:24;1120:61;:::i;:::-;1200:8;;-1:-1:-1;1094:87:113;-1:-1:-1;;1285:2:113;1270:18;;1257:32;1298:31;1257:32;1298:31;:::i;:::-;1348:5;1338:15;;;503:856;;;;;;;;:::o;1364:367::-;1427:8;1437:6;1491:3;1484:4;1476:6;1472:17;1468:27;1458:55;;1509:1;1506;1499:12;1458:55;-1:-1:-1;1532:20:113;;1575:18;1564:30;;1561:50;;;1607:1;1604;1597:12;1561:50;1644:4;1636:6;1632:17;1620:29;;1704:3;1697:4;1687:6;1684:1;1680:14;1672:6;1668:27;1664:38;1661:47;1658:67;;;1721:1;1718;1711:12;1736:154;1815:20;;1864:1;1854:12;;1844:40;;1880:1;1877;1870:12;1844:40;1736:154;;;:::o;1895:1548::-;2176:6;2184;2192;2200;2208;2216;2224;2232;2240;2293:3;2281:9;2272:7;2268:23;2264:33;2261:53;;;2310:1;2307;2300:12;2261:53;2350:9;2337:23;2379:18;2420:2;2412:6;2409:14;2406:34;;;2436:1;2433;2426:12;2406:34;2475:70;2537:7;2528:6;2517:9;2513:22;2475:70;:::i;:::-;2564:8;;-1:-1:-1;2449:96:113;-1:-1:-1;2652:2:113;2637:18;;2624:32;;-1:-1:-1;2668:16:113;;;2665:36;;;2697:1;2694;2687:12;2665:36;2736:72;2800:7;2789:8;2778:9;2774:24;2736:72;:::i;:::-;2827:8;;-1:-1:-1;2710:98:113;-1:-1:-1;2915:2:113;2900:18;;2887:32;;-1:-1:-1;2931:16:113;;;2928:36;;;2960:1;2957;2950:12;2928:36;;2999:72;3063:7;3052:8;3041:9;3037:24;2999:72;:::i;:::-;3090:8;;-1:-1:-1;2973:98:113;-1:-1:-1;;3175:2:113;3160:18;;3147:32;3188:31;3147:32;3188:31;:::i;:::-;3238:5;-1:-1:-1;3295:3:113;3280:19;;3267:33;3309;3267;3309;:::i;:::-;3361:7;-1:-1:-1;3387:50:113;3432:3;3417:19;;3387:50;:::i;:::-;3377:60;;1895:1548;;;;;;;;;;;:::o;3656:247::-;3715:6;3768:2;3756:9;3747:7;3743:23;3739:32;3736:52;;;3784:1;3781;3774:12;3736:52;3823:9;3810:23;3842:31;3867:5;3842:31;:::i;4100:167::-;4171:5;4216:3;4207:6;4202:3;4198:16;4194:26;4191:46;;;4233:1;4230;4223:12;4191:46;-1:-1:-1;4255:6:113;4100:167;-1:-1:-1;4100:167:113:o;4272:1493::-;4508:6;4516;4524;4532;4540;4548;4556;4564;4572;4625:3;4613:9;4604:7;4600:23;4596:33;4593:53;;;4642:1;4639;4632:12;4593:53;4682:9;4669:23;4711:18;4752:2;4744:6;4741:14;4738:34;;;4768:1;4765;4758:12;4738:34;4807:70;4869:7;4860:6;4849:9;4845:22;4807:70;:::i;:::-;4896:8;;-1:-1:-1;4781:96:113;-1:-1:-1;4984:2:113;4969:18;;4956:32;;-1:-1:-1;5000:16:113;;;4997:36;;;5029:1;5026;5019:12;4997:36;5052:80;5124:7;5113:8;5102:9;5098:24;5052:80;:::i;:::-;5042:90;;5185:2;5174:9;5170:18;5157:32;5141:48;;5214:2;5204:8;5201:16;5198:36;;;5230:1;5227;5220:12;5198:36;;5269:72;5333:7;5322:8;5311:9;5307:24;5269:72;:::i;:::-;5360:8;;-1:-1:-1;5243:98:113;-1:-1:-1;;5442:2:113;5427:18;;5414:32;;-1:-1:-1;5496:3:113;5481:19;;5468:33;5510:31;5468:33;5510:31;:::i;:::-;5560:5;-1:-1:-1;5617:3:113;5602:19;;5589:33;5631;5589;5631;:::i;:::-;5683:7;-1:-1:-1;5709:50:113;5754:3;5739:19;;5709:50;:::i;5770:423::-;5812:3;5850:5;5844:12;5877:6;5872:3;5865:19;5902:1;5912:162;5926:6;5923:1;5920:13;5912:162;;;5988:4;6044:13;;;6040:22;;6034:29;6016:11;;;6012:20;;6005:59;5941:12;5912:162;;;5916:3;6119:1;6112:4;6103:6;6098:3;6094:16;6090:27;6083:38;6182:4;6175:2;6171:7;6166:2;6158:6;6154:15;6150:29;6145:3;6141:39;6137:50;6130:57;;;5770:423;;;;:::o;6198:480::-;-1:-1:-1;;;;;6423:32:113;;6405:51;;6492:2;6487;6472:18;;6465:30;;;-1:-1:-1;;6518:45:113;;6544:18;;6536:6;6518:45;:::i;:::-;6611:9;6603:6;6599:22;6594:2;6583:9;6579:18;6572:50;6639:33;6665:6;6657;6639:33;:::i;:::-;6631:41;6198:480;-1:-1:-1;;;;;;6198:480:113:o;6683:1165::-;6918:6;6926;6934;6942;6950;6958;7011:2;6999:9;6990:7;6986:23;6982:32;6979:52;;;7027:1;7024;7017:12;6979:52;7067:9;7054:23;7096:18;7137:2;7129:6;7126:14;7123:34;;;7153:1;7150;7143:12;7123:34;7192:70;7254:7;7245:6;7234:9;7230:22;7192:70;:::i;:::-;7281:8;;-1:-1:-1;7166:96:113;-1:-1:-1;7369:2:113;7354:18;;7341:32;;-1:-1:-1;7385:16:113;;;7382:36;;;7414:1;7411;7404:12;7382:36;7453:72;7517:7;7506:8;7495:9;7491:24;7453:72;:::i;:::-;7544:8;;-1:-1:-1;7427:98:113;-1:-1:-1;7632:2:113;7617:18;;7604:32;;-1:-1:-1;7648:16:113;;;7645:36;;;7677:1;7674;7667:12;7645:36;;7716:72;7780:7;7769:8;7758:9;7754:24;7716:72;:::i;:::-;6683:1165;;;;-1:-1:-1;6683:1165:113;;-1:-1:-1;6683:1165:113;;7807:8;;6683:1165;-1:-1:-1;;;6683:1165:113:o;7853:1110::-;8043:6;8051;8059;8067;8075;8083;8136:3;8124:9;8115:7;8111:23;8107:33;8104:53;;;8153:1;8150;8143:12;8104:53;8193:9;8180:23;8222:18;8263:2;8255:6;8252:14;8249:34;;;8279:1;8276;8269:12;8249:34;8318:70;8380:7;8371:6;8360:9;8356:22;8318:70;:::i;:::-;8407:8;;-1:-1:-1;8292:96:113;-1:-1:-1;8495:2:113;8480:18;;8467:32;;-1:-1:-1;8511:16:113;;;8508:36;;;8540:1;8537;8530:12;8508:36;8563:80;8635:7;8624:8;8613:9;8609:24;8563:80;:::i;:::-;8553:90;;8696:2;8685:9;8681:18;8668:32;8652:48;;8725:2;8715:8;8712:16;8709:36;;;8741:1;8738;8731:12;8709:36;;8780:72;8844:7;8833:8;8822:9;8818:24;8780:72;:::i;:::-;7853:1110;;;;-1:-1:-1;7853:1110:113;;;;;8953:2;8938:18;;;8925:32;;7853:1110;-1:-1:-1;;;;7853:1110:113:o;9193:251::-;9263:6;9316:2;9304:9;9295:7;9291:23;9287:32;9284:52;;;9332:1;9329;9322:12;9284:52;9364:9;9358:16;9383:31;9408:5;9383:31;:::i;9449:277::-;9516:6;9569:2;9557:9;9548:7;9544:23;9540:32;9537:52;;;9585:1;9582;9575:12;9537:52;9617:9;9611:16;9670:5;9663:13;9656:21;9649:5;9646:32;9636:60;;9692:1;9689;9682:12;9731:380;9810:1;9806:12;;;;9853;;;9874:61;;9928:4;9920:6;9916:17;9906:27;;9874:61;9981:2;9973:6;9970:14;9950:18;9947:38;9944:161;;10027:10;10022:3;10018:20;10015:1;10008:31;10062:4;10059:1;10052:15;10090:4;10087:1;10080:15;10116:127;10177:10;10172:3;10168:20;10165:1;10158:31;10208:4;10205:1;10198:15;10232:4;10229:1;10222:15;10374:545;10476:2;10471:3;10468:11;10465:448;;;10512:1;10537:5;10533:2;10526:17;10582:4;10578:2;10568:19;10652:2;10640:10;10636:19;10633:1;10629:27;10623:4;10619:38;10688:4;10676:10;10673:20;10670:47;;;-1:-1:-1;10711:4:113;10670:47;10766:2;10761:3;10757:12;10754:1;10750:20;10744:4;10740:31;10730:41;;10821:82;10839:2;10832:5;10829:13;10821:82;;;10884:17;;;10865:1;10854:13;10821:82;;10465:448;10374:545;;;:::o;11095:1352::-;11221:3;11215:10;11248:18;11240:6;11237:30;11234:56;;;11270:18;;:::i;:::-;11299:97;11389:6;11349:38;11381:4;11375:11;11349:38;:::i;:::-;11343:4;11299:97;:::i;:::-;11451:4;;11515:2;11504:14;;11532:1;11527:663;;;;12234:1;12251:6;12248:89;;;-1:-1:-1;12303:19:113;;;12297:26;12248:89;-1:-1:-1;;11052:1:113;11048:11;;;11044:24;11040:29;11030:40;11076:1;11072:11;;;11027:57;12350:81;;11497:944;;11527:663;10321:1;10314:14;;;10358:4;10345:18;;-1:-1:-1;;11563:20:113;;;11681:236;11695:7;11692:1;11689:14;11681:236;;;11784:19;;;11778:26;11763:42;;11876:27;;;;11844:1;11832:14;;;;11711:19;;11681:236;;;11685:3;11945:6;11936:7;11933:19;11930:201;;;12006:19;;;12000:26;-1:-1:-1;;12089:1:113;12085:14;;;12101:3;12081:24;12077:37;12073:42;12058:58;12043:74;;11930:201;-1:-1:-1;;;;;12177:1:113;12161:14;;;12157:22;12144:36;;-1:-1:-1;11095:1352:113:o;12452:267::-;12541:6;12536:3;12529:19;12593:6;12586:5;12579:4;12574:3;12570:14;12557:43;-1:-1:-1;12645:1:113;12620:16;;;12638:4;12616:27;;;12609:38;;;;12701:2;12680:15;;;-1:-1:-1;;12676:29:113;12667:39;;;12663:50;;12452:267::o;12724:534::-;12969:2;12958:9;12951:21;12932:4;12995:62;13053:2;13042:9;13038:18;13030:6;13022;12995:62;:::i;:::-;13105:9;13097:6;13093:22;13088:2;13077:9;13073:18;13066:50;13133;13176:6;13168;13160;13133:50;:::i;:::-;13125:58;;;13248:1;13244;13239:3;13235:11;13231:19;13223:6;13219:32;13214:2;13203:9;13199:18;13192:60;12724:534;;;;;;;;:::o;13263:127::-;13324:10;13319:3;13315:20;13312:1;13305:31;13355:4;13352:1;13345:15;13379:4;13376:1;13369:15;13395:337;13500:4;13558:11;13545:25;13652:3;13648:8;13637;13621:14;13617:29;13613:44;13593:18;13589:69;13579:97;;13672:1;13669;13662:12;13579:97;13693:33;;;;;13395:337;-1:-1:-1;;13395:337:113:o;13737:556::-;13841:4;13847:6;13907:11;13894:25;14001:2;13997:7;13986:8;13970:14;13966:29;13962:43;13942:18;13938:68;13928:96;;14020:1;14017;14010:12;13928:96;14047:33;;14099:20;;;-1:-1:-1;14142:18:113;14131:30;;14128:50;;;14174:1;14171;14164:12;14128:50;14207:4;14195:17;;-1:-1:-1;14258:1:113;14254:14;;;14238;14234:35;14224:46;;14221:66;;;14283:1;14280;14273:12;14298:521;14375:4;14381:6;14441:11;14428:25;14535:2;14531:7;14520:8;14504:14;14500:29;14496:43;14476:18;14472:68;14462:96;;14554:1;14551;14544:12;14462:96;14581:33;;14633:20;;;-1:-1:-1;14676:18:113;14665:30;;14662:50;;;14708:1;14705;14698:12;14662:50;14741:4;14729:17;;-1:-1:-1;14772:14:113;14768:27;;;14758:38;;14755:58;;;14809:1;14806;14799:12;14824:500;14882:5;14889:6;14949:3;14936:17;15035:2;15031:7;15020:8;15004:14;15000:29;14996:43;14976:18;14972:68;14962:96;;15054:1;15051;15044:12;14962:96;15082:33;;15186:4;15173:18;;;-1:-1:-1;15134:21:113;;-1:-1:-1;15214:18:113;15203:30;;15200:50;;;15246:1;15243;15236:12;15200:50;15293:6;15277:14;15273:27;15266:5;15262:39;15259:59;;;15314:1;15311;15304:12;15329:773;15442:5;15429:19;15424:3;15417:32;15399:3;15497:4;15490:5;15486:16;15473:30;15535:18;15526:7;15522:32;15585:2;15576:7;15573:15;15563:43;;15602:1;15599;15592:12;15563:43;15631:4;15622:14;;15615:26;-1:-1:-1;15684:55:113;15733:4;15722:16;;15726:5;15684:55;:::i;:::-;15771:4;15764;15759:3;15755:14;15748:28;15797:70;15861:4;15856:3;15852:14;15838:12;15824;15797:70;:::i;:::-;15785:82;;;15914:55;15963:4;15956:5;15952:16;15945:5;15914:55;:::i;:::-;16011:3;16005:4;16001:14;15994:4;15989:3;15985:14;15978:38;16032:64;16091:4;16075:14;16059;16032:64;:::i;16107:1087::-;16525:3;16514:9;16507:22;16488:4;16552:74;16621:3;16610:9;16606:19;16598:6;16552:74;:::i;:::-;16674:9;16666:6;16662:22;16657:2;16646:9;16642:18;16635:50;16702;16745:6;16737;16729;16702:50;:::i;:::-;-1:-1:-1;;;;;16826:15:113;;;16821:2;16806:18;;16799:43;16873:2;16858:18;;16851:34;;;16922:15;;;16916:3;16901:19;;16894:44;16975:15;;16779:3;16954:19;;16947:44;16694:58;-1:-1:-1;;17021:1:113;17010:13;;17000:144;;17066:10;17061:3;17057:20;17054:1;17047:31;17101:4;17098:1;17091:15;17129:4;17126:1;17119:15;17000:144;17181:6;17175:3;17164:9;17160:19;17153:35;16107:1087;;;;;;;;;;;:::o;17813:662::-;18130:3;18119:9;18112:22;18093:4;18157:74;18226:3;18215:9;18211:19;18203:6;18157:74;:::i;:::-;18279:9;18271:6;18267:22;18262:2;18251:9;18247:18;18240:50;18307;18350:6;18342;18334;18307:50;:::i;:::-;-1:-1:-1;;;;;18393:32:113;;;;18388:2;18373:18;;18366:60;-1:-1:-1;;18457:2:113;18442:18;18435:34;18299:58;17813:662;-1:-1:-1;;;17813:662:113:o;19248:407::-;19450:2;19432:21;;;19489:2;19469:18;;;19462:30;19528:34;19523:2;19508:18;;19501:62;-1:-1:-1;;;19594:2:113;19579:18;;19572:41;19645:3;19630:19;;19248:407::o","linkReferences":{}},"methodIdentifiers":{"bulkRunModules(address[],(bytes32,uint64,bytes,bytes)[],bytes[][])":"e2baec4a","bulkRunModulesV2(address[],(bytes32,uint64,bytes,bytes)[],bytes[][],address,address,uint8)":"79638ef1","initialize(address)":"c4d66de8","isContractAddress(address)":"8ed9606a","isRegistered(address)":"c3c5a547","modules(address)":"a8ee49fe","owner()":"8da5cb5b","register(string,string,address)":"5664d69c","renounceOwnership()":"715018a6","router()":"f887ea40","runModules(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256)":"e8e253ca","runModulesV2(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256,address,address,uint8)":"a8015e43","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AttestationPayloadMissing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ModuleAddressInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ModuleAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ModuleInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ModuleNameMissing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ModuleNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ModuleValidationPayloadMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyAllowlisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RouterAddressInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"moduleAddress\",\"type\":\"address\"}],\"name\":\"ModuleRegistered\",\"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\":false,\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"}],\"name\":\"RouterSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"modulesAddresses\",\"type\":\"address[]\"},{\"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\":\"attestationsPayloads\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes[][]\",\"name\":\"validationPayloads\",\"type\":\"bytes[][]\"}],\"name\":\"bulkRunModules\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"modulesAddresses\",\"type\":\"address[]\"},{\"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\":\"attestationPayloads\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes[][]\",\"name\":\"validationPayloads\",\"type\":\"bytes[][]\"},{\"internalType\":\"address\",\"name\":\"initialCaller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"enum OperationType\",\"name\":\"operationType\",\"type\":\"uint8\"}],\"name\":\"bulkRunModulesV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"isContractAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"moduleAddress\",\"type\":\"address\"}],\"name\":\"isRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"}],\"name\":\"modules\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"moduleAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"moduleAddress\",\"type\":\"address\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"router\",\"outputs\":[{\"internalType\":\"contract IRouter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"modulesAddresses\",\"type\":\"address[]\"},{\"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\":\"attestationPayload\",\"type\":\"tuple\"},{\"internalType\":\"bytes[]\",\"name\":\"validationPayloads\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"runModules\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"modulesAddresses\",\"type\":\"address[]\"},{\"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\":\"attestationPayload\",\"type\":\"tuple\"},{\"internalType\":\"bytes[]\",\"name\":\"validationPayloads\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"initialCaller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"enum OperationType\",\"name\":\"operationType\",\"type\":\"uint8\"}],\"name\":\"runModulesV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Consensys\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"bulkRunModules(address[],(bytes32,uint64,bytes,bytes)[],bytes[][])\":{\"details\":\"NOTE: Currently the bulk run modules does not handle payable modules            a default value of 0 is used.DISCLAIMER: This method may have unexpected behavior if one of the checks is done on the attestation ID                  as this ID won't be incremented before the end of the transaction.                  If you need to check the attestation ID, please use the `attest` method.\",\"params\":{\"attestationsPayloads\":\"the payloads to attest\",\"modulesAddresses\":\"the addresses of the registered modules\",\"validationPayloads\":\"the payloads to check for each module\"}},\"bulkRunModulesV2(address[],(bytes32,uint64,bytes,bytes)[],bytes[][],address,address,uint8)\":{\"details\":\"NOTE: Currently the bulk run modules does not handle payable modules            a default value of 0 is used.DISCLAIMER: This method may have unexpected behavior if one of the checks is done on the attestation ID                  as this ID won't be incremented before the end of the transaction.                  If you need to check the attestation ID, please use the `attestV2` method.\",\"params\":{\"attestationPayloads\":\"the payloads to attest\",\"modulesAddresses\":\"the addresses of the registered modules\",\"validationPayloads\":\"the payloads to check for each module\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"initialize(address)\":{\"params\":{\"_router\":\"the address of the Router contract\"}},\"isContractAddress(address)\":{\"params\":{\"contractAddress\":\"address to be verified\"},\"returns\":{\"_0\":\"the result as true if it is a smart contract else false\"}},\"isRegistered(address)\":{\"params\":{\"moduleAddress\":\"The address of the Module to check\"},\"returns\":{\"_0\":\"True if the Module is registered, False otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"register(string,string,address)\":{\"details\":\"the module is stored in a mapping, the number of modules is incremented and an event is emitted\",\"params\":{\"description\":\"the module description\",\"moduleAddress\":\"the address of the deployed smart contract\",\"name\":\"the module name\"}},\"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.\"},\"runModules(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256)\":{\"details\":\"check if modules are registered and execute run method for each module\",\"params\":{\"attestationPayload\":\"the payload to attest\",\"modulesAddresses\":\"the addresses of the registered modules\",\"validationPayloads\":\"the payloads to check for each module (one payload per module)\"}},\"runModulesV2(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256,address,address,uint8)\":{\"details\":\"check if modules are registered and execute the V2 run method for each module\",\"params\":{\"attestationPayload\":\"the payload to attest\",\"attester\":\"the address defined by the Portal as the attester for this payload\",\"initialCaller\":\"the address of the initial caller (transaction sender)\",\"modulesAddresses\":\"the addresses of the registered modules\",\"validationPayloads\":\"the payloads to check for each module (one payload per module)\",\"value\":\"the value (ETH) optionally passed in the attesting transaction\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"moduleAddresses\":{\"details\":\"[DEPRECATED] This field is no longer used or updated. It previously stored the list of Module addresses, but its functionality has been deprecated. While this variable cannot be removed due to storage layout constraints in upgradeable contracts, it should not be relied upon as it no longer serves any purpose.\"},\"modules\":{\"details\":\"The list of Modules, accessed by their address\"}},\"title\":\"Module Registry\",\"version\":1},\"userdoc\":{\"errors\":{\"AttestationPayloadMissing()\":[{\"notice\":\"Error thrown when attempting to run modules with no attestation payload provided\"}],\"ModuleAddressInvalid()\":[{\"notice\":\"Error thrown when attempting to add a Module without an address of deployed smart contract\"}],\"ModuleAlreadyExists()\":[{\"notice\":\"Error thrown when an identical Module was already registered\"}],\"ModuleInvalid()\":[{\"notice\":\"Error thrown when attempting to add a Module which has not implemented the IModule interface\"}],\"ModuleNameMissing()\":[{\"notice\":\"Error thrown when attempting to add a Module without a name\"}],\"ModuleNotRegistered()\":[{\"notice\":\"Error thrown when module is not registered\"}],\"ModuleValidationPayloadMismatch()\":[{\"notice\":\"Error thrown when module addresses and validation payload length mismatch\"}],\"OnlyAllowlisted()\":[{\"notice\":\"Error thrown when a non-allowlisted user tries to call a forbidden method\"}],\"RouterAddressInvalid()\":[{\"notice\":\"Error thrown when the router address is the zero address\"}]},\"events\":{\"ModuleRegistered(string,string,address)\":{\"notice\":\"Event emitted when a Module is registered\"},\"RouterSet(address)\":{\"notice\":\"Event emitted when the router address is set\"}},\"kind\":\"user\",\"methods\":{\"bulkRunModules(address[],(bytes32,uint64,bytes,bytes)[],bytes[][])\":{\"notice\":\"Executes the modules validation for all attestations payloads for all given Modules that are registered\"},\"bulkRunModulesV2(address[],(bytes32,uint64,bytes,bytes)[],bytes[][],address,address,uint8)\":{\"notice\":\"Executes the V2 modules validation for all attestations payloads for all given V2 Modules that are registered\"},\"initialize(address)\":{\"notice\":\"Contract initialization\"},\"isContractAddress(address)\":{\"notice\":\"Check if address is smart contract and not EOA\"},\"isRegistered(address)\":{\"notice\":\"Checks that a module is registered in the module registry\"},\"register(string,string,address)\":{\"notice\":\"Registers a Module, with its metadata and run some checks: - mandatory name - mandatory module's deployed smart contract address - the module must be unique\"},\"runModules(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256)\":{\"notice\":\"Executes the run method for all given Modules that are registered\"},\"runModulesV2(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256,address,address,uint8)\":{\"notice\":\"Executes the V2 run method for all given Modules that are registered\"}},\"notice\":\"This contract aims to manage the Modules used by the Portals, including their discoverability\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ModuleRegistry.sol\":\"ModuleRegistry\"},\"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-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol\":{\"keccak256\":\"0x94edef8687cf1335a114f7e7267fa92cb0d9e61afde8d62589aceede6c245caf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dbcc182503f671c6bb7e2c24fe5f13e4c7604389d6cfccd074bc1d9fa7b86df\",\"dweb:/ipfs/QmdioHDNmTsJx9xMcwBvA7QJhC4MzTmDmWHiWsZpbETLXx\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"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/AttestationRegistry.sol\":{\"keccak256\":\"0x3c56f7eee3ac86a0cae61be91ede7bcbf5c8af10805ed52224f324a44a55f98b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73409f2983c864ded4be63a649c9dbd1d25928e670784cd9b6b2173e3246c23\",\"dweb:/ipfs/QmXixGjYaZzua1ucUHoBwNtN9mXbBAiB4Sg91uxiX443A2\"]},\"src/Common.sol\":{\"keccak256\":\"0x07627815aee6d7b83ae82aef10f45b54ac0be15cbbbb249300cc097475475c24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72b82fc8baf2256b13b0b36f343328bfcd7d979304c47eca5731237d744fd094\",\"dweb:/ipfs/QmQW23C75qvgR5H2cUgCJ5zZDwHCDLBbESGExwVCmJjL4k\"]},\"src/DefaultPortalV2.sol\":{\"keccak256\":\"0x7c18ba58fb72b1831c834650860b748bb6e8f7b85344184fea2ed8d6bb76eba8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75bba0ba5980cf98d939f505925af829770a52c3268ac30a5a2157632f839522\",\"dweb:/ipfs/QmPMqALZpYKUbEeAsSwEzBB9uAnSxU7JLkmTL6P8AL5t1W\"]},\"src/ModuleRegistry.sol\":{\"keccak256\":\"0xe6f4dd301a87493d825b7b228f23fcc0dc061346525c3a3ef72acd12069a5ee0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bdef98113aa85895e6f61e27e0b946715d1d1e8d6c6a96b16e6d46025e7af88\",\"dweb:/ipfs/QmRvq2P4PmUFBnh6KSB35gryaTrJD47CNiy69yqpMCwcZx\"]},\"src/PortalRegistry.sol\":{\"keccak256\":\"0xe004c6d29a99520af021af80fcba3d1a4ec31ab836bb13e2ba3d668cedb14fb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c61d5aab8db5cef8d3d77cb23aa8e4867abf32b434281c2405c6f46de586f8ba\",\"dweb:/ipfs/QmZZdGdskovJPnusDmZ9Rc6rWVeLibEhNF4MTFpFm87xmx\"]},\"src/SchemaRegistry.sol\":{\"keccak256\":\"0x6cf8eb42ef410d84e77214f95333e598a6c154e3b7a4e7160b06e051862c168c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68d561d0d3c633704f902350c8f2a842a5c19300ae35b1fbeb2cf3d8ee58aaae\",\"dweb:/ipfs/QmcZ3ofnBCmkmb8FZxWc9f2oP5L2tYweaaA6q5amA7uGio\"]},\"src/abstracts/AbstractModule.sol\":{\"keccak256\":\"0xae791069d8bd3f943d06975383ae0d0231498a8bd70d0ed7c8a815a4fddc9cf8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32efbdee61914e3b91b29aabd5ddbc202546aa910ec005f7ee63a9f57603395\",\"dweb:/ipfs/QmaWYQVQSD5mo1ujPD3rm251UkWcBDcRm8y7i7QXurE2Ky\"]},\"src/abstracts/AbstractModuleV2.sol\":{\"keccak256\":\"0x87a3060cac439296ef19c719a6abe3776c59ab858c9d935a07e0c70c57387ac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2208b4e53226d1a08ca45ccda9686abc7d339aee8b3554823585fb3acc0c1479\",\"dweb:/ipfs/QmdFMkJ49tBRUCT5oVMFGhub9ZFWL6wzv3jiW35XsLbuYi\"]},\"src/abstracts/AbstractPortalV2.sol\":{\"keccak256\":\"0xef4d0ec62960936027d0c9271bfc76d0b913ea36dd88ef077f676c62f06ffe72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8be53b100c84b36310ea7b9c22628052f0ee258b6c1cef15d0572a652e8c2e2\",\"dweb:/ipfs/QmSE98AGeEBQk3R66wpRmkePCR8BCT6ruk3zLZTzuf2oak\"]},\"src/interfaces/IPortal.sol\":{\"keccak256\":\"0xbae2383850a8835e1202c58d5dd4c0bca4e9b631cd85efe6c4f5c62cf769c5e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8687bf6ce8049ff7d4eeadef51e55cdab58e1ec7a9fb93a2037ae43f426420a8\",\"dweb:/ipfs/QmTqX5BfttfbrJxb9yyCxFpqAix9AxAWzGLodFYHhjfrY4\"]},\"src/interfaces/IRouter.sol\":{\"keccak256\":\"0x28599dbf7e8d3903c57c0df03a6f4ee26e731452c79755525c34a1b18ddd4d9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://122078d4c05dc8a8205d766017e3880665e44e726b82aa710347e95989d338a3\",\"dweb:/ipfs/QmSToNkFkzs8cJ2xQeQqsrUBC73tDXjGirGafK6ZkfXTm2\"]},\"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\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AttestationPayloadMissing"},{"inputs":[],"type":"error","name":"ModuleAddressInvalid"},{"inputs":[],"type":"error","name":"ModuleAlreadyExists"},{"inputs":[],"type":"error","name":"ModuleInvalid"},{"inputs":[],"type":"error","name":"ModuleNameMissing"},{"inputs":[],"type":"error","name":"ModuleNotRegistered"},{"inputs":[],"type":"error","name":"ModuleValidationPayloadMismatch"},{"inputs":[],"type":"error","name":"OnlyAllowlisted"},{"inputs":[],"type":"error","name":"RouterAddressInvalid"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"string","name":"description","type":"string","indexed":false},{"internalType":"address","name":"moduleAddress","type":"address","indexed":false}],"type":"event","name":"ModuleRegistered","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":"router","type":"address","indexed":false}],"type":"event","name":"RouterSet","anonymous":false},{"inputs":[{"internalType":"address[]","name":"modulesAddresses","type":"address[]"},{"internalType":"struct AttestationPayload[]","name":"attestationsPayloads","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":"validationPayloads","type":"bytes[][]"}],"stateMutability":"nonpayable","type":"function","name":"bulkRunModules"},{"inputs":[{"internalType":"address[]","name":"modulesAddresses","type":"address[]"},{"internalType":"struct AttestationPayload[]","name":"attestationPayloads","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":"validationPayloads","type":"bytes[][]"},{"internalType":"address","name":"initialCaller","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"enum OperationType","name":"operationType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"bulkRunModulesV2"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"isContractAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"moduleAddress","type":"address"}],"stateMutability":"view","type":"function","name":"isRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"id","type":"address"}],"stateMutability":"view","type":"function","name":"modules","outputs":[{"internalType":"address","name":"moduleAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"address","name":"moduleAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"register"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}]},{"inputs":[{"internalType":"address[]","name":"modulesAddresses","type":"address[]"},{"internalType":"struct AttestationPayload","name":"attestationPayload","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":"validationPayloads","type":"bytes[]"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"runModules"},{"inputs":[{"internalType":"address[]","name":"modulesAddresses","type":"address[]"},{"internalType":"struct AttestationPayload","name":"attestationPayload","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":"validationPayloads","type":"bytes[]"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"initialCaller","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"enum OperationType","name":"operationType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"runModulesV2"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"bulkRunModules(address[],(bytes32,uint64,bytes,bytes)[],bytes[][])":{"details":"NOTE: Currently the bulk run modules does not handle payable modules            a default value of 0 is used.DISCLAIMER: This method may have unexpected behavior if one of the checks is done on the attestation ID                  as this ID won't be incremented before the end of the transaction.                  If you need to check the attestation ID, please use the `attest` method.","params":{"attestationsPayloads":"the payloads to attest","modulesAddresses":"the addresses of the registered modules","validationPayloads":"the payloads to check for each module"}},"bulkRunModulesV2(address[],(bytes32,uint64,bytes,bytes)[],bytes[][],address,address,uint8)":{"details":"NOTE: Currently the bulk run modules does not handle payable modules            a default value of 0 is used.DISCLAIMER: This method may have unexpected behavior if one of the checks is done on the attestation ID                  as this ID won't be incremented before the end of the transaction.                  If you need to check the attestation ID, please use the `attestV2` method.","params":{"attestationPayloads":"the payloads to attest","modulesAddresses":"the addresses of the registered modules","validationPayloads":"the payloads to check for each module"}},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"initialize(address)":{"params":{"_router":"the address of the Router contract"}},"isContractAddress(address)":{"params":{"contractAddress":"address to be verified"},"returns":{"_0":"the result as true if it is a smart contract else false"}},"isRegistered(address)":{"params":{"moduleAddress":"The address of the Module to check"},"returns":{"_0":"True if the Module is registered, False otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"register(string,string,address)":{"details":"the module is stored in a mapping, the number of modules is incremented and an event is emitted","params":{"description":"the module description","moduleAddress":"the address of the deployed smart contract","name":"the module name"}},"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."},"runModules(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256)":{"details":"check if modules are registered and execute run method for each module","params":{"attestationPayload":"the payload to attest","modulesAddresses":"the addresses of the registered modules","validationPayloads":"the payloads to check for each module (one payload per module)"}},"runModulesV2(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256,address,address,uint8)":{"details":"check if modules are registered and execute the V2 run method for each module","params":{"attestationPayload":"the payload to attest","attester":"the address defined by the Portal as the attester for this payload","initialCaller":"the address of the initial caller (transaction sender)","modulesAddresses":"the addresses of the registered modules","validationPayloads":"the payloads to check for each module (one payload per module)","value":"the value (ETH) optionally passed in the attesting transaction"}},"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":{"bulkRunModules(address[],(bytes32,uint64,bytes,bytes)[],bytes[][])":{"notice":"Executes the modules validation for all attestations payloads for all given Modules that are registered"},"bulkRunModulesV2(address[],(bytes32,uint64,bytes,bytes)[],bytes[][],address,address,uint8)":{"notice":"Executes the V2 modules validation for all attestations payloads for all given V2 Modules that are registered"},"initialize(address)":{"notice":"Contract initialization"},"isContractAddress(address)":{"notice":"Check if address is smart contract and not EOA"},"isRegistered(address)":{"notice":"Checks that a module is registered in the module registry"},"register(string,string,address)":{"notice":"Registers a Module, with its metadata and run some checks: - mandatory name - mandatory module's deployed smart contract address - the module must be unique"},"runModules(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256)":{"notice":"Executes the run method for all given Modules that are registered"},"runModulesV2(address[],(bytes32,uint64,bytes,bytes),bytes[],uint256,address,address,uint8)":{"notice":"Executes the V2 run method for all given Modules that are registered"}},"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":{"src/ModuleRegistry.sol":"ModuleRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165CheckerUpgradeable.sol":{"keccak256":"0x94edef8687cf1335a114f7e7267fa92cb0d9e61afde8d62589aceede6c245caf","urls":["bzz-raw://9dbcc182503f671c6bb7e2c24fe5f13e4c7604389d6cfccd074bc1d9fa7b86df","dweb:/ipfs/QmdioHDNmTsJx9xMcwBvA7QJhC4MzTmDmWHiWsZpbETLXx"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"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/AttestationRegistry.sol":{"keccak256":"0x3c56f7eee3ac86a0cae61be91ede7bcbf5c8af10805ed52224f324a44a55f98b","urls":["bzz-raw://e73409f2983c864ded4be63a649c9dbd1d25928e670784cd9b6b2173e3246c23","dweb:/ipfs/QmXixGjYaZzua1ucUHoBwNtN9mXbBAiB4Sg91uxiX443A2"],"license":"MIT"},"src/Common.sol":{"keccak256":"0x07627815aee6d7b83ae82aef10f45b54ac0be15cbbbb249300cc097475475c24","urls":["bzz-raw://72b82fc8baf2256b13b0b36f343328bfcd7d979304c47eca5731237d744fd094","dweb:/ipfs/QmQW23C75qvgR5H2cUgCJ5zZDwHCDLBbESGExwVCmJjL4k"],"license":"MIT"},"src/DefaultPortalV2.sol":{"keccak256":"0x7c18ba58fb72b1831c834650860b748bb6e8f7b85344184fea2ed8d6bb76eba8","urls":["bzz-raw://75bba0ba5980cf98d939f505925af829770a52c3268ac30a5a2157632f839522","dweb:/ipfs/QmPMqALZpYKUbEeAsSwEzBB9uAnSxU7JLkmTL6P8AL5t1W"],"license":"MIT"},"src/ModuleRegistry.sol":{"keccak256":"0xe6f4dd301a87493d825b7b228f23fcc0dc061346525c3a3ef72acd12069a5ee0","urls":["bzz-raw://0bdef98113aa85895e6f61e27e0b946715d1d1e8d6c6a96b16e6d46025e7af88","dweb:/ipfs/QmRvq2P4PmUFBnh6KSB35gryaTrJD47CNiy69yqpMCwcZx"],"license":"MIT"},"src/PortalRegistry.sol":{"keccak256":"0xe004c6d29a99520af021af80fcba3d1a4ec31ab836bb13e2ba3d668cedb14fb8","urls":["bzz-raw://c61d5aab8db5cef8d3d77cb23aa8e4867abf32b434281c2405c6f46de586f8ba","dweb:/ipfs/QmZZdGdskovJPnusDmZ9Rc6rWVeLibEhNF4MTFpFm87xmx"],"license":"MIT"},"src/SchemaRegistry.sol":{"keccak256":"0x6cf8eb42ef410d84e77214f95333e598a6c154e3b7a4e7160b06e051862c168c","urls":["bzz-raw://68d561d0d3c633704f902350c8f2a842a5c19300ae35b1fbeb2cf3d8ee58aaae","dweb:/ipfs/QmcZ3ofnBCmkmb8FZxWc9f2oP5L2tYweaaA6q5amA7uGio"],"license":"MIT"},"src/abstracts/AbstractModule.sol":{"keccak256":"0xae791069d8bd3f943d06975383ae0d0231498a8bd70d0ed7c8a815a4fddc9cf8","urls":["bzz-raw://e32efbdee61914e3b91b29aabd5ddbc202546aa910ec005f7ee63a9f57603395","dweb:/ipfs/QmaWYQVQSD5mo1ujPD3rm251UkWcBDcRm8y7i7QXurE2Ky"],"license":"MIT"},"src/abstracts/AbstractModuleV2.sol":{"keccak256":"0x87a3060cac439296ef19c719a6abe3776c59ab858c9d935a07e0c70c57387ac3","urls":["bzz-raw://2208b4e53226d1a08ca45ccda9686abc7d339aee8b3554823585fb3acc0c1479","dweb:/ipfs/QmdFMkJ49tBRUCT5oVMFGhub9ZFWL6wzv3jiW35XsLbuYi"],"license":"MIT"},"src/abstracts/AbstractPortalV2.sol":{"keccak256":"0xef4d0ec62960936027d0c9271bfc76d0b913ea36dd88ef077f676c62f06ffe72","urls":["bzz-raw://c8be53b100c84b36310ea7b9c22628052f0ee258b6c1cef15d0572a652e8c2e2","dweb:/ipfs/QmSE98AGeEBQk3R66wpRmkePCR8BCT6ruk3zLZTzuf2oak"],"license":"MIT"},"src/interfaces/IPortal.sol":{"keccak256":"0xbae2383850a8835e1202c58d5dd4c0bca4e9b631cd85efe6c4f5c62cf769c5e3","urls":["bzz-raw://8687bf6ce8049ff7d4eeadef51e55cdab58e1ec7a9fb93a2037ae43f426420a8","dweb:/ipfs/QmTqX5BfttfbrJxb9yyCxFpqAix9AxAWzGLodFYHhjfrY4"],"license":"MIT"},"src/interfaces/IRouter.sol":{"keccak256":"0x28599dbf7e8d3903c57c0df03a6f4ee26e731452c79755525c34a1b18ddd4d9c","urls":["bzz-raw://122078d4c05dc8a8205d766017e3880665e44e726b82aa710347e95989d338a3","dweb:/ipfs/QmSToNkFkzs8cJ2xQeQqsrUBC73tDXjGirGafK6ZkfXTm2"],"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"}},"version":1},"id":57}