StockAppreciationRight
Inherits: IssuedAsset
Author: CapSign Inc.
A minimal contract tracking stock appreciation rights (SARs) for employees/consultants. Each lot has a "basePrice" from which appreciation is measured, plus a "quantity."
State Variables
sarTokens
mapping(bytes32 => SARToken) public sarTokens;
Functions
initialize
function initialize(address _issuer, string memory _name, string memory _prefix) public virtual initializer;
createSARToken
Creates a new SAR lot for a given holder.
function createSARToken(address holder, uint96 quantity, uint96 basePrice) external returns (bytes32 tokenId);
Parameters
Name
Type
Description
holder
address
The address receiving the SAR.
quantity
uint96
The number of SAR units granted.
basePrice
uint96
The reference price at the time of grant.
Returns
Name
Type
Description
tokenId
bytes32
The unique hash-based identifier of this SAR lot.
invalidateSARToken
Invalidates an existing SAR lot (e.g., if fully settled or the holder leaves).
function invalidateSARToken(bytes32 tokenId) external;
Events
SARTokenCreated
event SARTokenCreated(bytes32 indexed tokenId, address indexed holder, uint96 quantity, uint96 basePrice);
SARTokenInvalidated
event SARTokenInvalidated(bytes32 indexed tokenId);
Structs
SARToken
struct SARToken {
bool isValid;
address holder;
uint96 quantity;
uint96 basePrice;
}
Last updated
Was this helpful?