Function: createAllocation(AllocationType _allocationType, address _grantee, address _controller, TokenOptionAllocation.Allocation _allocation, TokenOptionAllocation.Milestone[] _milestones, address _paymentToken, uint256 _exercisePrice, uint256 _shortStopDuration)
This function is used to create a new TokenOptionAllocation contract.
Inputs
_allocationTypeControl: Arbitrary.
Constraints:
AllocationType.TokenOptiononly.Impact: Type of allocation.
_granteeControl: Arbitrary.
Constraints: None.
Impact: Address of the grantee.
_controllerControl: Arbitrary.
Constraints: None.
Impact: Address of the controller.
_allocationControl: Arbitrary.
Constraints: None.
Impact: Struct of the allocation including
Allocationfields:tokenStreamTotal,vestingCliffCredit,unlockingCliffCredit,vestingRate,vestingStartTime,unlockRate,unlockStartTime, andtokenContract.
_milestonesControl: Arbitrary.
Constraints: None.
Impact: Array of
Milestone. Struct of the milestone includingmilestoneAward,unlockOnCompletion,complete, and an array ofconditionContractsaddresses.
_paymentTokenControl: Arbitrary.
Constraints: None.
Impact: Address of payment token.
_exercisePriceControl: Arbitrary.
Constraints: None.
Impact: Value of exercise price.
_shortStopDurationControl: Arbitrary.
Constraints: None.
Impact: Value of short stop duration.
Branches and code coverage
Intended branches
Deploy a new TokenOptionAllocation contract using the provided parameters.
Negative behavior
Revert if the
_allocationTypeis notAllocationType.TokenOption.