EmployeeStockOptionCompensation

Git Source

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?