StakrVaults Reference
Status: Live
Primary source documents:
Factory API
createStakrVault(address underlying, string _name, string _symbol, string _description, address _owner) returns (address vault)createStakrVault(address underlying, string _name, string _symbol, string _description, address _owner, address plugin) returns (address vault)availableStakrVaults(address _underlying) view returns (uint256)stakrVaultByIndex(address _underlying, uint256 _index) view returns (address)
Reward API
addRewardToken(address token, uint256 amount, Settings calldata _settings)modifyRewardToken(address token, uint256 amount, Settings calldata _settings)rewardsCount() view returns (uint256)rewards(address token) view returns (...)updateStakrVault()
User/Position API
deposit(uint256 assets, address receiver)depositAndLock(uint256 assets, address _user)lock(uint256 _shares, address _user)unlock(uint256 _shares, address _user)unlockAndRedeem(uint256 shares, address receiver)harvest(address _user)lockedShares(address) view returns (uint256)
Plugin Hook Coverage
When plugin() != address(0), vault calls plugin hooks around:
- Deposit:
beforeDeposit/afterDeposit - Lock:
beforeLock/afterLock - Unlock:
beforeUnlock/afterUnlock - Redeem:
beforeRedeem/afterRedeem - Rewards:
beforeAddReward/afterAddReward,beforeModifyReward/afterModifyReward,beforeRemoveReward/afterRemoveReward - Harvest:
beforeHarvest/afterHarvest
All hooks are strict-mode: revert in hook means revert in vault action.
Core Events
AddReward(address indexed token, uint256 amount, uint256 startDate, uint256 endDate)ModifyReward(address indexed token, uint256 amount, uint256 startDate, uint256 endDate)DeleteReward(address indexed token)Harvest(address indexed user, address token, uint256 amount)Lock(address indexed user, uint256 amount, uint256 lastLockedTime)Unlock(address indexed user, uint256 amount, uint256 lastLockedTime)
Common Errors
StakrVaultInvalidReward()StakrVaultInvalidSettings()StakrVaultNotAllowed()StakrVaultInsufficientBalance()StakrVaultMathError()
Base Mainnet Contracts
- Factory: 0xc7c16776b2eaf541621b11c38df401fc9d4e812b
- STAKR: 0xd1a7387d3ded8cb611a202fc1a9c9c74c23f2ba3
Next Step
- Implement operations using Agent Automation Patterns.