Rule701CoreFacet
Inherits: IRule701Events
Core functionality for Rule 701 compliance management
Functions
onlyActive
modifier onlyActive();
onlyAdmin
modifier onlyAdmin();
initialize
Initialize the Rule 701 plan
function initialize(address _entity, uint256 _annualLimit, uint256 _companyLimit) external;
createGrant
Create a new grant for an employee
function createGrant(
address employee,
address assetType,
uint256 amount,
uint256 vestingStart,
uint256 vestingDuration,
uint256 exercisePrice
) external onlyActive onlyAdmin returns (bytes32 grantId);
exerciseGrant
Exercise a grant
function exerciseGrant(bytes32 grantId, uint256 amount) external onlyActive;
cancelGrant
Cancel a grant
function cancelGrant(bytes32 grantId, string calldata reason) external onlyAdmin;
getGrant
function getGrant(bytes32 grantId) external view returns (IRule701.Grant memory);
getEmployeeRecord
function getEmployeeRecord(address employee) external view returns (IRule701.EmployeeRecord memory);
isWithinLimits
function isWithinLimits(address employee, uint256 amount) external view returns (bool);
_checkLimits
function _checkLimits(Rule701Storage.Layout storage s, address employee, uint256 amount) internal view returns (bool);
_updateEmployeeRecord
function _updateEmployeeRecord(Rule701Storage.Layout storage s, address employee, uint256 amount, bytes32 grantId)
internal;
_calculateVested
function _calculateVested(IRule701.Grant storage grant) internal view returns (uint256);
_isAdmin
function _isAdmin(address account, Rule701Storage.Layout storage s) internal view returns (bool);
_authority
function _authority() internal view returns (address);
Last updated
Was this helpful?