def validate_strategy_file(file_path: str) -> Optional[str]: if not isfile(file_path): return f"{file_path} file does not exist." strategy = strategy_name_from_file(file_path) if strategy is None: return "Invalid configuration file or 'strategy' field is missing." if strategy not in get_strategy_list(): return "Invalid strategy specified in the file." return None
def ethereum_required_trading_pairs() -> List[str]: """ Check if the trading pairs require an ethereum wallet (ERC-20 tokens). """ ret_val = [] for conn, t_pair in requried_connector_trading_pairs.items(): if AllConnectorSettings.get_connector_settings()[conn].use_ethereum_wallet: ret_val += t_pair return ret_val def gateway_connector_trading_pairs(connector: str) -> List[str]: """ Returns trading pair used by specified gateway connnector. """ ret_val = [] for conn, t_pair in requried_connector_trading_pairs.items(): if AllConnectorSettings.get_connector_settings()[conn].uses_gateway_generic_connector() and \ conn == connector: ret_val += t_pair return ret_val MAXIMUM_OUTPUT_PANE_LINE_COUNT = 1000 MAXIMUM_LOG_PANE_LINE_COUNT = 1000 MAXIMUM_TRADE_FILLS_DISPLAY_OUTPUT = 100 STRATEGIES: List[str] = get_strategy_list() GATEWAY_CONNECTORS: List[str] = []