VestingTokenFactory
Git Source Inherits: FactoryFeeManager Authors: JA (@ubinatus) v3, Klaus Hott (@Janther) v2 The VestingTokenFactory contract can be used to create vesting contracts for any ERC20 token.State Variables
implementation
The address that will be used as a delegate call target forVestingTokens.
_salt
It will be used as the salt for create2_vestingTokensByUnderlyingToken
MapsunderlyingTokens to an array of VestingTokens.
Functions
constructor
*Creates a vesting token factory contract. Requirements:implementationAddresshas to be a contract.feeCollectorAddresscan’t be address 0x0.transferFeePercentagemust be within minTransferFee and maxTransferFee.*
| Name | Type | Description |
|---|---|---|
implementationAddress | address | Address of VestingToken contract implementation. |
feeCollectorAddress | address | Address of feeCollector. |
creationFeeValue | uint64 | Value for creationFee that will be charged when deploying VestingToken’s. |
transferFeePercentage | uint64 | Value for transferFeePercentage that will be charged on VestingToken’s transfers. |
claimFeeValue | uint64 | Value for claimFee that will be charged on VestingToken’s claims. |
nextSalt
Increments the salt one step. In the rare case that create2 fails, this function can be used to skip that particular salt.createVestingToken
Creates new VestingToken contracts. Requirements:underlyingTokenAddresscannot be the zero address.timestampsmust be given in ascending order.percentagesmust be given in ascending order and the last one must always be 1 eth, where 1 eth equals to 100%.
| Name | Type | Description |
|---|---|---|
name | string | The token collection name. |
symbol | string | The token collection symbol. |
underlyingTokenAddress | address | The ERC20 token that will be held by this contract. |
milestonesArray | IVestingToken.Milestone[] | Array of all Milestones for this Contract’s lifetime. |
vestingTokens
Exposes the whole array that_vestingTokensByUnderlyingToken maps.
Events
VestingTokenCreated
| Name | Type | Description |
|---|---|---|
underlyingToken | address | Address of the ERC20 that will be vest into vestingToken. |
vestingToken | address | Address of the newly deployed VestingToken. |