Vesting
This contract gives a possibility to create vesting schedules and distribute ASX tokens between users using the linear distribution during release period.
Write methods description
createVestingSchedule()
Creates new vesting schedules in a batch by an owner.
Parameters:
_accounts
address[]
An array of addresses of users for whom new vesting schedules should be created.
_amounts
uint256[]
An array of vesting schedules distribution amounts.
_lockPeriods
uint32[]
An array of lock period durations (in seconds) that should take place before distribution will start.
_releasePeriods
uint32[]
An array of periods (in seconds) during which ASX tokens will be distributed after the lock period.
release()
Releases ASX tokens for a specified vesting schedule IDs in a batch.
Parameters:
_vsids
uint256[]
An array of vesting schedule IDs.
_recipients
address[]
An array of recipients of unlocked ASX tokens.
renounceOwnership()
Leaves the contract without owner. It will not be possible to call the owner's functions anymore. Can only be called by the current owner. The method does not take any parameters. Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
transferOwnership()
Transfers ownership of the contract to the new owner. Can only be called by the current owner.
Parameters:
_newOwner
address
An account that will become the new owner.
withdraw()
Withdraws unused ASX tokens or othe tokens (including ETH) by an owner.
Parameters:
_token
address
A token to withdraw. If equal to zero address - withdraws ETH.
_amount
uint256
An amount of tokens for withdraw.
_recipient
address
A recipient of withdrawn tokens.
Read methods description
getReleasableAmount()
Returns releasable amount for a vesting schedule by provided ID. If no vesting schedule exists with provided ID, returns zero.
Parameters:
_vsid
uint256
An ID of a vesting schedule.
Return:
_amount
uint256
A releasable amount for a specified vesting schedule.
getToken()
Returns the ASX token address.
Return:
_token
address
The ASX token address.
getTotalDistributionAmount()
Returns total distribution amount for all vesting schedules.
Return:
_amount
uint256
Total distribution amount for all vesting schedules.
getTotalReleasedAmount()
Returns total released amount for all vesting schedules.
Return:
_amount
uint256
Total released amount for all vesting schedules.
getVestingSchedule()
Returns a vesting schedule by its ID. If no vesting schedule exists with provided ID, returns an empty vesting schedule.
Parameters:
_vsid
uint256
An ID of a vesting schedule.
Return:
_vestingSchedule
VestingSchedule
A vesting schedule structure.
getVestingSchedulesCount()
Returns total vesting schedules count.
Return:
_count
uint256
Total vesting schedules count.
getWithdrawableAmount()
Returns an amount available for withdrawal (unused ASX tokens amount) by an owner.
Return:
_amount
uint256
A withdrawable amount.
owner()
Gets an owner address that was granted exclusive access to specific functions with the modifier onlyOwner
.
Return:
_owner
address
An owner address.
Last updated