Vesting
Vesting contracts allows contributors and users that participate in certain programs like farming, to earn SOV assets in a programmed way.
Last updated
Vesting contracts allows contributors and users that participate in certain programs like farming, to earn SOV assets in a programmed way.
Last updated
Vesting contracts allows contributors and users that participate in certain programs like farming, to earn SOV assets in a programmed way, avoiding a negative impact in the circulating supply economy of the token -or tokenomics-.
Vesting contracts allows distribute rewards in a time windows minimizing the impact of additional available liquidity to the SOV price. Vesting contract owners, or tokenOwner
s are awarded with voting power, but not with claiming rights to the fee sharing contract.
Stakings must be "voluntary" or non related to vestings in order to qualify to rewards from fee distributions.
Vestings can only be created by TimelockOwner
contract (by the means of a proposal through GovernorOwner
and NOT GovernorAdmin
) or the admins designated by a former SIP.
The first step is the creation of the vesting contract through the call VestingRegistry.createVestingAddr
.
Arguments
_tokenOwner
address
the future owner of the vested assets .
_amount
uint256
the net amount to be staked -blockchain format- indicating the date until which to stake
_cliff
uint256
the cliff time window in seconds .
_duration
uint256
the total duration of the vesting in seconds
_vestingCreationType
uint256
the type of vesting contracts to be created(e.g. Origin, Bug Bounty etc.)
Once the vesting has been created, the admin must first approve
the handling of the SOV assets to VestingRegistry
. Then the funds can be staked through: VestingRegistry.stakeTokens
.
Arguments
_vesting
address
the address of Vesting contract
_amount
uint256
the amount of tokens to stake
By default, the staked assets are released to the tokenOwner
each two periods of unlock staking checkpoints. When the tokenOwner
has available assets to withdraw, they can perform Vesting.withdrawTokens
where "Vesting" is the instance of the vesting contract specially created for this user.
Arguments
receiver
address
The receiving address