diff --git a/Program.cs b/Program.cs index d6951a1..e25efc0 100644 --- a/Program.cs +++ b/Program.cs @@ -9,7 +9,6 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Options; using PolyTrader.Core.Configuration; using PolyTrader.Core.DependencyInjection; -using PolyTrader.Core.Streaming; using PolyTrader.Core.Modularity; using PolyTrader.Modules.CopyTrading; using PolyTrader.Modules.CopyTrading.Persistence; @@ -79,7 +78,6 @@ internal static class Program }; services.Configure(context.Configuration.GetSection(DatabaseOptions.SectionName)); services.AddCorePersistence(databaseOptions); - services.AddSingleton(); services.AddSingleton((IServiceProvider sp) => ServerSettings.Load("server_settings.xml")); services.AddSingleton(); services.AddSingleton(delegate(IServiceProvider sp) @@ -124,11 +122,9 @@ internal static class Program module.RegisterServices(services, context.Configuration); } - services.AddHostedService(); services.AddHostedService(); services.AddHostedService(); services.AddHostedService(); - services.AddHostedService(); services.AddHostedService((IServiceProvider sp) => sp.GetRequiredService()); services.AddHostedService((IServiceProvider sp) => sp.GetRequiredService()); services.AddSingleton(); diff --git a/src/PolyTrader.Modules.CopyTrading/CopyTradingModule.cs b/src/PolyTrader.Modules.CopyTrading/CopyTradingModule.cs index 35a21a2..e781ae5 100644 --- a/src/PolyTrader.Modules.CopyTrading/CopyTradingModule.cs +++ b/src/PolyTrader.Modules.CopyTrading/CopyTradingModule.cs @@ -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(); services.AddSingleton(); + // WSS-Infrastruktur (Core) wird nur vom Copytrading-Blockchain-Listener genutzt. + services.AddSingleton(); + // Modul-Services (Signalquelle, Ausführung, Analytics) services.AddSingleton(); services.AddHostedService(sp => sp.GetRequiredService()); services.AddHostedService(); services.AddHostedService(); + + // WSS-Listener des Moduls: Blockchain (Alchemy → Master-Trader-Wallets) und + // Polymarket-Markt-WSS (Auto-Redeem nach Copytrading-Settings). + services.AddHostedService(); + services.AddHostedService(); } public void RegisterUi(IModuleUiHost host, IServiceProvider services) diff --git a/services/AlchemyWebsocketService.cs b/src/PolyTrader.Modules.CopyTrading/Services/AlchemyWebsocketService.cs similarity index 100% rename from services/AlchemyWebsocketService.cs rename to src/PolyTrader.Modules.CopyTrading/Services/AlchemyWebsocketService.cs diff --git a/services/PolymarketWssClient.cs b/src/PolyTrader.Modules.CopyTrading/Services/PolymarketWssClient.cs similarity index 100% rename from services/PolymarketWssClient.cs rename to src/PolyTrader.Modules.CopyTrading/Services/PolymarketWssClient.cs