interface IStake is IERC20 {
    /**
    @notice Deposit MPH to get xMPH
    @dev The amount can't be 0
    @param _mphAmount The amount of MPH to deposit
    @return shareAmount The amount of xMPH minted
    */
    function deposit(uint256 _mphAmount) external returns (uint256 shareAmount);

    /**
        @notice Withdraw MPH using xMPH
        @dev The amount can't be 0
        @param _shareAmount The amount of xMPH to burn
        @return mphAmount The amount of MPH withdrawn
     */
    function withdraw(uint256 _shareAmount)
        external
        returns (uint256 mphAmount);

    function getPricePerFullShare() external view returns (uint256);
}
// xMPH.sol
function deposit(uint256 _mphAmount) external returns (uint256 shareAmount);

/**
 @notice Deposit MPH to get xMPH
 @dev The amount can't be 0
 @param _mphAmount The amount of MPH to deposit
 @return shareAmount The amount of xMPH minted
 */