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
Пример #2
0
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
Пример #3
0
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%)? >>> ",
Пример #4
0
def market_validator(value: str) -> None:
    exchange = "uniswap_v3"
    return validate_market_trading_pair(exchange, value)
Пример #5
0
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)
Пример #6
0
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
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
def market_validator(value: str) -> None:
    connector = uniswap_v3_lp_config_map.get("connector").value
    return validate_market_trading_pair(connector, value)
Пример #12
0
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)
Пример #14
0
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)
Пример #17
0
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)
Пример #18
0
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)
Пример #19
0
def market_2_validator(value: str) -> None:
    exchange = amm_arb_config_map["connector_2"].value
    return validate_market_trading_pair(exchange, value)
Пример #20
0
def perpetual_market_validator(value: str) -> None:
    exchange = spot_perpetual_arbitrage_config_map["perpetual_connector"].value
    return validate_market_trading_pair(exchange, value)
Пример #21
0
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)
Пример #22
0
def validate_trading_pair(value: str) -> Optional[str]:
    market = triangular_arbitrage_config_map.get("market").value
    return validate_market_trading_pair(market, value)