// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.8.0 <0.9.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; interface ISperStrategy { event Reward(uint256 amount); event PortfolioManagerUpdated(address value); event SlippagesUpdated(uint256 swapSlippageBP, uint256 navSlippageBP, uint256 stakeSlippageBP); event Stake(uint256 amount); event Unstake(uint256 amount, uint256 amountReceived); function stake( address _asset, uint256 _amount ) external; function unstake( address _asset, uint256 _amount, address _beneficiary, bool targetIsZero ) external returns (uint256); function netAssetValue() external view returns (uint256); function liquidationValue() external view returns (uint256); function claimRewards(address _to) external returns (uint256); }