mirror of
https://github.com/lens-protocol/core.git
synced 2026-04-22 03:02:03 -04:00
28 lines
719 B
Solidity
28 lines
719 B
Solidity
// SPDX-License-Identifier: MIT
|
|
|
|
pragma solidity ^0.8.15;
|
|
|
|
import {Errors} from 'contracts/modules/constants/Errors.sol';
|
|
|
|
/**
|
|
* @title ActionRestricted
|
|
* @author Lens Protocol
|
|
*
|
|
* @notice This abstract contract adds a public `ACTION_MODULE` immutable field, and `onlyActionModule` modifier,
|
|
* to inherit from contracts that have functions restricted to be only called by the Action Modules.
|
|
*/
|
|
abstract contract ActionRestricted {
|
|
address public immutable ACTION_MODULE;
|
|
|
|
modifier onlyActionModule() {
|
|
if (msg.sender != ACTION_MODULE) {
|
|
revert Errors.NotActionModule();
|
|
}
|
|
_;
|
|
}
|
|
|
|
constructor(address actionModule) {
|
|
ACTION_MODULE = actionModule;
|
|
}
|
|
}
|