Modularisierung: WSS-/Alchemy-Listener ins Copytrading-Modul verschoben
Beide Listener sind copytrading-spezifisch (überwachen die getrackten Master- Trader bzw. Auto-Redeem nach Copytrading-Settings) und werden jetzt vom Modul besessen statt von der App. Reiner Move, keine Logikänderung. - services/AlchemyWebsocketService.cs + services/PolymarketWssClient.cs -> src/PolyTrader.Modules.CopyTrading/Services/ (Namespace bleibt transitional). - CopyTradingModule.RegisterServices registriert nun beide Hosted Services sowie IBlockchainWssClientFactory->AlchemyWssClientFactory (Core-WSS-Infra, nur vom Copytrading-Blockchain-Listener genutzt). - Program.cs: die drei Registrierungen entfernt (WSS-Factory + 2 Hosted Services) + ungenutztes using PolyTrader.Core.Streaming. - WSS-Verbindungsinfrastruktur (AlchemyWssClient/BlockchainWss) bleibt in Core. DI-Auflösung unverändert (gleicher Container). Build grün, --smoke-ui grün. Laufzeit-Verifikation der WSS-Verbindungen: Server-Test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
1b51872f00
commit
3456fd9768
@@ -7,6 +7,7 @@ using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using PolyTrader.Core.Configuration;
|
||||
using PolyTrader.Core.Modularity;
|
||||
using PolyTrader.Core.Streaming;
|
||||
using PolyTrader.Modules.CopyTrading.Persistence;
|
||||
using PolyTrader.Modules.CopyTrading.Persistence.Ef;
|
||||
using PolyTrader.Modules.CopyTrading.Ui;
|
||||
@@ -47,11 +48,19 @@ namespace PolyTrader.Modules.CopyTrading
|
||||
services.AddSingleton<ITrackedTraderRepository, EfTrackedTraderRepository>();
|
||||
services.AddSingleton<IMasterTraderHistoryRepository, EfMasterTraderHistoryRepository>();
|
||||
|
||||
// WSS-Infrastruktur (Core) wird nur vom Copytrading-Blockchain-Listener genutzt.
|
||||
services.AddSingleton<IBlockchainWssClientFactory, AlchemyWssClientFactory>();
|
||||
|
||||
// Modul-Services (Signalquelle, Ausführung, Analytics)
|
||||
services.AddSingleton<TraderMonitorService>();
|
||||
services.AddHostedService(sp => sp.GetRequiredService<TraderMonitorService>());
|
||||
services.AddHostedService<CopyTradingEngine>();
|
||||
services.AddHostedService<TraderAnalyticsJob>();
|
||||
|
||||
// WSS-Listener des Moduls: Blockchain (Alchemy → Master-Trader-Wallets) und
|
||||
// Polymarket-Markt-WSS (Auto-Redeem nach Copytrading-Settings).
|
||||
services.AddHostedService<AlchemyWebsocketService>();
|
||||
services.AddHostedService<PolymarketWssClient>();
|
||||
}
|
||||
|
||||
public void RegisterUi(IModuleUiHost host, IServiceProvider services)
|
||||
|
||||
Reference in New Issue
Block a user