OwnedCustomVerifier is an abstract base contract for implementing ICustomVerifier-compatible verifiers with configurable role-based access control. It integrates with MellowACL and provides a flexible initialization mechanism for dynamic permission setup.
This verifier is designed to be used in Verifier.sol as a custom verifier, ****where specific calls must pass access control checks based on predefined roles.
Key Components
Inherits:
ICustomVerifier: Interface used by the Verifier contract for permission checks
MellowACL: Upgradeable, role-based access control module compatible with OpenZeppelin’s AccessControl
This base contract does not implement the verifyCall() method itself. Instead, it is expected to be inherited and extended by a concrete verifier contract that implements the permission logic based on role membership (e.g., checking hasRole(role, who)).
This allows teams to quickly implement custom verifiers that enforce arbitrary permissions (e.g., allow certain addresses to approve, transfer, or delegate) based on assigned roles instead of hardcoded logic.