Add Agent tracking balance
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
using System.Reflection;
|
||||
using Binance.Net.Clients;
|
||||
using Binance.Net.Interfaces.Clients;
|
||||
using Discord.Commands;
|
||||
using Discord.WebSocket;
|
||||
using FluentValidation;
|
||||
@@ -55,7 +53,10 @@ public static class ApiBootstrap
|
||||
public static IServiceCollection RegisterApiDependencies(this IServiceCollection services,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
services.Configure<Web3ProxySettings>(configuration.GetSection("Web3Proxy"));
|
||||
|
||||
return services
|
||||
.AddWorkers(configuration)
|
||||
.AddApplication()
|
||||
.AddInfrastructure(configuration)
|
||||
.AddFluentValidation()
|
||||
@@ -78,6 +79,22 @@ public static class ApiBootstrap
|
||||
services.AddTransient<ICommandHandler<OpenPositionRequest, Position>, OpenPositionCommandHandler>();
|
||||
services.AddTransient<ICommandHandler<ClosePositionCommand, Position>, ClosePositionCommandHandler>();
|
||||
|
||||
// Processors
|
||||
services.AddTransient<IExchangeProcessor, EvmProcessor>();
|
||||
services.AddTransient<IExchangeProcessor, FtxProcessor>();
|
||||
services.AddTransient<IExchangeProcessor, BinanceProcessor>();
|
||||
services.AddTransient<IExchangeProcessor, KrakenProcessor>();
|
||||
|
||||
services.AddTransient<ITradaoService, TradaoService>();
|
||||
services.AddTransient<IExchangeService, ExchangeService>();
|
||||
services.AddTransient<IExchangeStream, ExchangeStream>();
|
||||
services.AddSingleton<IMessengerService, MessengerService>();
|
||||
services.AddSingleton<IDiscordService, DiscordService>();
|
||||
services.AddSingleton<IBotService, BotService>();
|
||||
services.AddSingleton<IWorkerService, WorkerService>();
|
||||
services.AddTransient<IPrivyService, PrivyService>();
|
||||
services.AddTransient<IWeb3ProxyService, Web3ProxyService>();
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
@@ -114,36 +131,27 @@ public static class ApiBootstrap
|
||||
services.AddTransient<IWorkflowRepository, WorkflowRepository>();
|
||||
services.AddTransient<IBotRepository, BotRepository>();
|
||||
services.AddTransient<IWorkerRepository, WorkerRepository>();
|
||||
|
||||
services.AddTransient<IAgentBalanceRepository, AgentBalanceRepository>();
|
||||
|
||||
// Cache
|
||||
services.AddDistributedMemoryCache();
|
||||
services.AddTransient<ICacheService, CacheService>();
|
||||
services.AddSingleton<ITaskCache, TaskCache>();
|
||||
|
||||
// Processors
|
||||
services.AddTransient<IExchangeProcessor, EvmProcessor>();
|
||||
services.AddTransient<IExchangeProcessor, FtxProcessor>();
|
||||
services.AddTransient<IExchangeProcessor, BinanceProcessor>();
|
||||
services.AddTransient<IExchangeProcessor, KrakenProcessor>();
|
||||
return services;
|
||||
}
|
||||
|
||||
// Services
|
||||
services.AddTransient<ITradaoService, TradaoService>();
|
||||
services.AddTransient<IExchangeService, ExchangeService>();
|
||||
services.AddTransient<IExchangeStream, ExchangeStream>();
|
||||
services.AddSingleton<IMessengerService, MessengerService>();
|
||||
services.AddSingleton<IDiscordService, DiscordService>();
|
||||
services.AddSingleton<IBotService, BotService>();
|
||||
services.AddSingleton<IWorkerService, WorkerService>();
|
||||
services.AddTransient<IPrivyService, PrivyService>();
|
||||
private static IServiceCollection AddWorkers(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
if (configuration.GetValue<bool>("Workers:BotManager", false))
|
||||
{
|
||||
services.AddHostedService<BotManagerWorker>();
|
||||
}
|
||||
|
||||
// Web3Proxy Configuration
|
||||
services.Configure<Web3ProxySettings>(configuration.GetSection("Web3Proxy"));
|
||||
services.AddTransient<IWeb3ProxyService, Web3ProxyService>();
|
||||
|
||||
// Stream
|
||||
services.AddSingleton<IBinanceSocketClient, BinanceSocketClient>();
|
||||
services.AddSingleton<IStreamService, StreamService>();
|
||||
if (configuration.GetValue<bool>("Workers:BalancesTracking", false))
|
||||
{
|
||||
services.AddHostedService<BalanceTrackingWorker>();
|
||||
}
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user