WarrantCompensation

Git Source

Grants warrants to employees/consultants, ensuring compliance with Rule 701 and using the ValuationRegistry for accurate strike price determination.

State Variables

warrant

Warrant public warrant;

shareClass

ShareClass public shareClass;

valuationRegistry

ValuationRegistry public valuationRegistry;

rule701Exemption

Rule701Exemption public rule701Exemption;

Functions

constructor

constructor(address _warrant, address _shareClass, address _valuationRegistry, address _rule701Exemption);

getFairValue

Retrieves the latest fair market value (FMV) for a company from ValuationRegistry.

function getFairValue(address company) internal view returns (uint256);

Parameters

Name
Type
Description

company

address

The address representing the private company.

Returns

Name
Type
Description

<none>

uint256

The latest FMV.

grantWarrants

Grants warrants to a holder based on the latest 409A valuation.

function grantWarrants(address holder, uint96 quantity, address paymentCurrency) external;

Parameters

Name
Type
Description

holder

address

The address receiving the warrants.

quantity

uint96

The number of warrants to grant.

paymentCurrency

address

The payment currency for the warrants.

exerciseWarrant

Example: holder exercises the warrants, we createLot actual shares in shareClass.

function exerciseWarrant(bytes32 tokenId, uint96 exerciseQuantity) external payable;

Events

WarrantGranted

event WarrantGranted(
    bytes32 indexed tokenId, address indexed holder, uint96 quantity, uint256 strikePrice, uint256 valuationTimestamp
);

WarrantExercised

event WarrantExercised(bytes32 indexed tokenId, address indexed holder, uint96 exercisedQuantity, uint256 totalCost);

Last updated

Was this helpful?