def validate_exchange_trading_pair(cls, v: str, values: Dict, field: Field): ret = None if field.name == "maker_market_trading_pair": exchange = values.get("maker_market") ret = validate_market_trading_pair(exchange, v) if field.name == "taker_market_trading_pair": exchange = values.get("taker_market") ret = validate_market_trading_pair(exchange, v) if ret is not None: raise ValueError(ret) return v
def derivative_market_validator(value: str) -> None: mkts = ','.split(value) for m in mkts: exchange = hedged_lm_config_map["derivative_connector"].value r = validate_market_trading_pair(exchange, m) if r: return r
celo_arb_config_map = { "strategy": ConfigVar( key="strategy", prompt="", default="celo_arb"), "secondary_exchange": ConfigVar( key="secondary_exchange", prompt="Enter your secondary spot connector >>> ", prompt_on_new=True, validator=validate_exchange, on_validated=exchange_on_validated), "secondary_market": ConfigVar( key="secondary_market", prompt=market_trading_pair_prompt, prompt_on_new=True, validator=lambda x: validate_market_trading_pair(celo_arb_config_map["secondary_exchange"].value, x)), "order_amount": ConfigVar( key="order_amount", prompt=order_amount_prompt, type_str="decimal", prompt_on_new=True), "min_profitability": ConfigVar( key="min_profitability", prompt="What is the minimum profitability for you to make a trade? (Enter 1 to indicate 1%) >>> ", prompt_on_new=True, default=Decimal("0.3"), validator=lambda v: validate_decimal(v), type_str="decimal"), "celo_slippage_buffer": ConfigVar( key="celo_slippage_buffer", prompt="How much buffer do you want to add to the Celo price to account for slippage (Enter 1 for 1%)? >>> ",
def market_validator(value: str) -> None: exchange = "uniswap_v3" return validate_market_trading_pair(exchange, value)
def validate_secondary_market_trading_pair(value: str) -> Optional[str]: secondary_market = arbitrage_config_map.get("secondary_market").value return validate_market_trading_pair(secondary_market, value)
def validate_market_trading_pair_tuple(value: str) -> Optional[str]: exchange = dev_4_twap_config_map.get("exchange").value return validate_market_trading_pair(exchange, value)
def validate_exchange_trading_pair(cls, v: str, values: Dict): exchange = values.get("exchange") ret = validate_market_trading_pair(exchange, v) if ret is not None: raise ValueError(ret) return v
def validate_derivative_trading_pair(value: str) -> Optional[str]: derivative = perpetual_market_making_config_map.get("derivative").value return validate_market_trading_pair(derivative, value)
def validate_price_source_market(value: str) -> Optional[str]: market = pure_market_making_config_map.get("price_source_exchange").value return validate_market_trading_pair(market, value)
def validate_exchange_trading_pair(value: str) -> Optional[str]: exchange = dev_0_hello_world_config_map.get("exchange").value return validate_market_trading_pair(exchange, value)
def market_validator(value: str) -> None: connector = uniswap_v3_lp_config_map.get("connector").value return validate_market_trading_pair(connector, value)
def validate_exchange_trading_pair(value: str) -> Optional[str]: exchange = aroon_oscillator_config_map.get("exchange").value return validate_market_trading_pair(exchange, value)
def validate_trading_pair(value: str) -> Optional[str]: exchange = dev_2_perform_trade_config_map.get("exchange").value return validate_market_trading_pair(exchange, value)
def validate_quote_price_source_market(value: str) -> Optional[str]: market = arbitrage_config_map.get("quote_price_source_exchange").value return validate_market_trading_pair(market, value)
def validate_market_trading_pair_tuple(value: str) -> Optional[str]: market = dev_simple_trade_config_map.get("market").value return validate_market_trading_pair(market, value)
def validate_trading_pair(value: str) -> Optional[str]: market = dev_1_get_order_book_config_map.get("exchange").value return validate_market_trading_pair(market, value)
def validate_exchange_trading_pair(value: str) -> Optional[str]: exchange = pure_market_making_config_map.get("exchange").value return validate_market_trading_pair(exchange, value)
def validate_taker_market_trading_pair(value: str) -> Optional[str]: taker_market = cross_exchange_market_making_config_map.get( "taker_market").value return validate_market_trading_pair(taker_market, value)
def market_2_validator(value: str) -> None: exchange = amm_arb_config_map["connector_2"].value return validate_market_trading_pair(exchange, value)
def perpetual_market_validator(value: str) -> None: exchange = spot_perpetual_arbitrage_config_map["perpetual_connector"].value return validate_market_trading_pair(exchange, value)
def validate_price_source_market(value: str) -> Optional[str]: market = perpetual_market_making_config_map.get( "price_source_derivative").value return validate_market_trading_pair(market, value)
def validate_trading_pair(value: str) -> Optional[str]: market = triangular_arbitrage_config_map.get("market").value return validate_market_trading_pair(market, value)