fund the schedule, the beneficiary, and the total cannot change. release is permissionless and always pays the beneficiary, so anyone can push a release and nobody can redirect it. Nothing vests before start + cliff. After the cliff, the vested amount is linear from start, so the first release catches up to the schedule.
Vesting lets you:
- Fund the vest once with the team allocation
- Release vested STK to the beneficiary at any time
- Read the schedule and the amount vested at a timestamp
The source code is
src/token/Vesting.sol on GitHub. The ABI is /abis/Vesting.json.
Write methods
fund
amount STK from the caller and locks the schedule. Callable once. Reverts with AlreadyFunded on a second call and ZeroAmount for 0.
Input parameters
release
fund and ZeroAmount when nothing new has vested.
Read methods
vested
ts: zero before start + cliff, total at or after start + duration, and linear from start between.
Input parameters
Return values