Spaces:
Sleeping
Sleeping
| import os | |
| from nautilus_trader.adapters.hyperliquid.config import HyperliquidDataClientConfig | |
| from nautilus_trader.adapters.hyperliquid.config import HyperliquidExecClientConfig | |
| from nautilus_trader.config import LoggingConfig, TradingNodeConfig, ExecEngineConfig | |
| from nautilus_trader.config import InstrumentProviderConfig | |
| def get_config(): | |
| # Hyperliquid Configuration | |
| # Fallback to Testnet Key provided by user if Env Var missing | |
| TESTNET_PK = "b47deb8f017fba5a519fb67170a3ca6e305563bb9bfc9e9697876f68966be214" | |
| private_key = os.environ.get("HYPERLIQUID_PK") | |
| vault_address = os.environ.get("HYPERLIQUID_VAULT") | |
| use_testnet = True # TESTNET MODE - Development & Testing | |
| if not private_key: | |
| print(f"⚠️ HYPERLIQUID_PK not in env. Using Hardcoded Testnet Key (Address: 0xF138...2FDF)") | |
| private_key = TESTNET_PK | |
| os.environ["HYPERLIQUID_PK"] = TESTNET_PK # Set in Env for other potential consumers | |
| else: | |
| print("✅ HYPERLIQUID_PK found in env.") | |
| instrument_provider = InstrumentProviderConfig(load_all=True) | |
| # Data Client Config | |
| data_config = HyperliquidDataClientConfig( | |
| testnet=use_testnet, | |
| instrument_provider=instrument_provider, | |
| ) | |
| # Execution Client Config | |
| exec_config = HyperliquidExecClientConfig( | |
| private_key=private_key, | |
| vault_address=vault_address, | |
| testnet=use_testnet, | |
| instrument_provider=instrument_provider, | |
| ) | |
| return data_config, exec_config | |
| def get_node_config(): | |
| return TradingNodeConfig( | |
| trader_id="HYPERLIQUID-TESTER", | |
| logging=LoggingConfig(log_level="DEBUG"), # FORCE DEBUG | |
| exec_engine_config=ExecEngineConfig(reconciliation=False), | |
| ) | |