EmployeeStockOptionCompensation
An EmployeeStockOption contract to record new options. Also demonstrates a simple 'exerciseOption' flow that eventually creates actual shares in a ShareClass.
State Variables
optionRegistry
EmployeeStockOption public optionRegistry;
shareClass
ShareClass public shareClass;
rule701Exemption
Rule701Exemption public rule701Exemption;
Functions
initialize
function initialize(address _optionRegistry, address _shareClass, address _rule701Exemption) external;
grantOptions
Grants an ESO lot to 'employee'.
function grantOptions(address employee, uint96 quantity, address paymentCurrency, uint96 strikePrice, uint256 fairValue)
external;
Parameters
Name
Type
Description
employee
address
The address receiving the options.
quantity
uint96
The number of options.
paymentCurrency
address
The payment currency for the lot.
strikePrice
uint96
The price per share upon exercise.
fairValue
uint256
The fair market value for 701 tracking (if any).
exerciseOption
Allows the employee to exercise some or all of their options from a given lot, creating actual shares in the shareClass.
function exerciseOption(bytes32 tokenId, uint96 exerciseQuantity) external payable;
Events
OptionGranted
Events
event OptionGranted(bytes32 indexed tokenId, address indexed employee, uint96 quantity, uint96 strikePrice);
OptionExercised
event OptionExercised(bytes32 indexed tokenId, address indexed employee, uint96 exercisedQuantity, uint256 totalCost);
Last updated
Was this helpful?