ICorporateActionManager
Functions
processSpinOff
Processes a spin-off by adjusting the old lot and creating a new one.
function processSpinOff(bytes32 oldTokenId, uint96 spinOffQuantity, uint96 spinOffCostBasis, string calldata reason)
external
returns (bytes32 newTokenId);
Parameters
oldTokenId
bytes32
The ID of the existing lot to be adjusted.
spinOffQuantity
uint96
The quantity of the spin-off.
spinOffCostBasis
uint96
The cost basis of the spin-off.
reason
string
The reason for the spin-off.
Returns
newTokenId
bytes32
The ID of the newly created lot.
forcedBuyback
Performs a forced buyback by adjusting the old lot and creating a new one.
function forcedBuyback(
bytes32 oldTokenId,
uint96 buybackQuantity,
uint96 leftoverQuantity,
uint96 leftoverCostBasis,
string calldata reason
) external returns (bytes32 newTokenId);
Parameters
oldTokenId
bytes32
The ID of the existing lot to be adjusted.
buybackQuantity
uint96
The quantity to buy back.
leftoverQuantity
uint96
The quantity remaining after buyback.
leftoverCostBasis
uint96
The cost basis of the leftover quantity.
reason
string
The reason for the buyback.
Returns
newTokenId
bytes32
The ID of the newly created lot.
processMerger
Processes a merger by adjusting multiple old tokens and creating new ones.
function processMerger(
bytes32[] calldata oldTokenIds,
uint96 newQuantityPerShare,
uint96 newCostBasisPerShare,
string calldata reason
) external;
Parameters
oldTokenIds
bytes32[]
An array of IDs of the existing tokens to be merged.
newQuantityPerShare
uint96
The new quantity per share after merger.
newCostBasisPerShare
uint96
The new cost basis per share after merger.
reason
string
The reason for the merger.
setOwner
Sets a new owner for the contract.
function setOwner(address newOwner) external;
Parameters
newOwner
address
The address of the new owner.
setTokenManager
Sets a new TokenManager contract address.
function setTokenManager(address _lotManager) external;
Parameters
_lotManager
address
The address of the new TokenManager.
Events
SpinOffProcessed
event SpinOffProcessed(
bytes32 indexed oldTokenId,
bytes32 indexed newTokenId,
address indexed holder,
uint96 newQuantity,
uint96 newCostBasis,
string info
);
Last updated
Was this helpful?