The Verifier contract is a multi-mode permissioning module for verifying and enforcing call-level access control across vault-connected modules. It supports:
CompactCall)ICustomVerifier)This contract enables secure and modular delegation of operational permissions
IAccessControlSET_MERKLE_ROOT_ROLE: Role allowed to update the active Merkle rootCALLER_ROLE: Role required by initiators of authorized callsALLOW_CALL_ROLE: Grants ability to add compact calls to allowlistDISALLOW_CALL_ROLE: Grants ability to remove compact calls from allowliststruct VerifierStorage {
address vault;
bytes32 merkleRoot;
EnumerableSet.Bytes32Set compactCallHashes;
mapping(bytes32 => CompactCall) compactCalls;
}
vault: Vault contract that owns the verifier (must support IAccessControl)merkleRoot: Merkle root for off-chain verified call proofs