diff --git a/freqtrade/data/dataprovider.py b/freqtrade/data/dataprovider.py index 8ca638046..fd7997521 100644 --- a/freqtrade/data/dataprovider.py +++ b/freqtrade/data/dataprovider.py @@ -88,11 +88,10 @@ class DataProvider: def _set_producer_pairs(self, pairlist: List[str], producer_name: str = "default"): """ Set the pairs received to later be used. - This only supports 1 Producer right now. :param pairlist: List of pairs """ - self.__producer_pairs[producer_name] = pairlist.copy() + self.__producer_pairs[producer_name] = pairlist def get_producer_pairs(self, producer_name: str = "default") -> List[str]: """ @@ -100,7 +99,7 @@ class DataProvider: :returns: List of pairs """ - return self.__producer_pairs.get(producer_name, []) + return self.__producer_pairs.get(producer_name, []).copy() def _emit_df( self, diff --git a/freqtrade/rpc/api_server/api_auth.py b/freqtrade/rpc/api_server/api_auth.py index 1ab158ea7..e91e5941b 100644 --- a/freqtrade/rpc/api_server/api_auth.py +++ b/freqtrade/rpc/api_server/api_auth.py @@ -59,7 +59,7 @@ async def validate_ws_token( secret_ws_token = api_config.get('ws_token', None) secret_jwt_key = api_config.get('jwt_secret_key', 'super-secret') - if ws_token and secrets.compare_digest(secret_ws_token, ws_token): + if ws_token and secret_ws_token and secrets.compare_digest(secret_ws_token, ws_token): # Just return the token if it matches return ws_token else: @@ -69,7 +69,7 @@ async def validate_ws_token( # If the token is a jwt, and it's valid return the user except HTTPException: pass - logger.info("Denying websocket request") + logger.debug("Denying websocket request.") # If it doesn't match, close the websocket connection await ws.close(code=status.WS_1008_POLICY_VIOLATION)