pragma solidity 0.5.17; import "./KeepTokenGeyser.sol"; import "../KeepToken.sol"; /// @title KEEP Vault /// @dev A smart-contract based mechanism to distribute tokens over time. /// It accepts KEEP token as stake and distributes KEEP as rewards for staking. contract KeepVault is KeepTokenGeyser { /// @param _keepToken KEEP token contract address. It is a token that is accepted /// as user's stake and that will be distributed as rewards. /// @param _maxUnlockSchedules Max number of unlock stages, to guard against /// hitting gas limit. /// @param _startBonus Starting time bonus, BONUS_DECIMALS fixed point. /// e.g. 25% means user gets 25% of max distribution tokens. /// @param _bonusPeriodSec Length of time for bonus to increase linearly to max. /// @param _initialSharesPerToken Number of shares to mint per staking token /// on first stake. /// @param _durationSec Length of time to linear unlock the rewards tokens. constructor( KeepToken _keepToken, uint256 _maxUnlockSchedules, uint256 _startBonus, uint256 _bonusPeriodSec, uint256 _initialSharesPerToken, uint256 _durationSec ) public KeepTokenGeyser( _keepToken, _keepToken, _maxUnlockSchedules, _startBonus, _bonusPeriodSec, _initialSharesPerToken, _durationSec ) {} }