diff --git a/src/Managing.Api.Workers/Managing.Api.Workers.csproj b/src/Managing.Api.Workers/Managing.Api.Workers.csproj
index c046e54..2e99aee 100644
--- a/src/Managing.Api.Workers/Managing.Api.Workers.csproj
+++ b/src/Managing.Api.Workers/Managing.Api.Workers.csproj
@@ -32,13 +32,13 @@
-
+
Always
Always
-
+
Always
diff --git a/src/Managing.Api.Workers/Program.cs b/src/Managing.Api.Workers/Program.cs
index a951a82..80d871e 100644
--- a/src/Managing.Api.Workers/Program.cs
+++ b/src/Managing.Api.Workers/Program.cs
@@ -14,8 +14,9 @@ using Serilog.Sinks.Elasticsearch;
// Builder
var builder = WebApplication.CreateBuilder(args);
-builder.Configuration
- .AddEnvironmentVariables();
+builder.Configuration.SetBasePath(System.AppContext.BaseDirectory);
+builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
+ .AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json");
builder.Host.UseSerilog((hostBuilder, loggerConfiguration) =>
{
diff --git a/src/Managing.Api.Workers/appsettings.Oda-docker.json b/src/Managing.Api.Workers/appsettings.Oda-docker.json
index e81d760..efe660f 100644
--- a/src/Managing.Api.Workers/appsettings.Oda-docker.json
+++ b/src/Managing.Api.Workers/appsettings.Oda-docker.json
@@ -5,8 +5,8 @@
},
"InfluxDb": {
"Url": "http://influxdb:8086/",
- "Organization": "",
- "Token": ""
+ "Organization": "managing-org",
+ "Token": "Fw2FPL2OwTzDHzSbR2Sd5xs0EKQYy00Q-hYKYAhr9cC1_q5YySONpxuf_Ck0PTjyUiF13xXmi__bu_pXH-H9zA=="
},
"Serilog": {
"MinimumLevel": {
diff --git a/src/Managing.Api.Workers/appsettings.Oda.json b/src/Managing.Api.Workers/appsettings.Oda.json
index d9754cb..643d440 100644
--- a/src/Managing.Api.Workers/appsettings.Oda.json
+++ b/src/Managing.Api.Workers/appsettings.Oda.json
@@ -1,7 +1,7 @@
{
"ManagingDatabase": {
"ConnectionString": "mongodb://localhost:27017",
- "DatabaseName": "ManagingDb",
+ "DatabaseName": "ManagingDb"
},
"InfluxDb": {
"Url": "http://localhost:8086/",
diff --git a/src/Managing.Api/appsettings.Oda-docker.json b/src/Managing.Api/appsettings.Oda-docker.json
index e59c1c4..9a8a6a3 100644
--- a/src/Managing.Api/appsettings.Oda-docker.json
+++ b/src/Managing.Api/appsettings.Oda-docker.json
@@ -8,7 +8,7 @@
"InfluxDb": {
"Url": "http://influxdb:8086/",
"Organization": "managing-org",
- "Token": ""
+ "Token": "Fw2FPL2OwTzDHzSbR2Sd5xs0EKQYy00Q-hYKYAhr9cC1_q5YySONpxuf_Ck0PTjyUiF13xXmi__bu_pXH-H9zA=="
},
"Serilog": {
"MinimumLevel": {
diff --git a/src/Managing.Application/Bots/TradingBot.cs b/src/Managing.Application/Bots/TradingBot.cs
index 82fb14b..3923fc8 100644
--- a/src/Managing.Application/Bots/TradingBot.cs
+++ b/src/Managing.Application/Bots/TradingBot.cs
@@ -99,7 +99,15 @@ public class TradingBot : Bot, ITradingBot
LoadScenario();
await PreloadCandles();
await CancelAllOrders();
- await MessengerService.SendMessage($"Hi everyone, I'm going to run {Name}. \nI will send a message here everytime a signal is triggered by the {string.Join(",", Strategies.Select(s => s.Name))} strategies.");
+
+ try
+ {
+ await MessengerService.SendMessage($"Hi everyone, I'm going to run {Name}. \nI will send a message here everytime a signal is triggered by the {string.Join(",", Strategies.Select(s => s.Name))} strategies.");
+ }
+ catch (Exception ex)
+ {
+ Logger.LogError(ex, ex.Message);
+ }
await InitWorker(Run);
}
@@ -553,7 +561,7 @@ public class TradingBot : Bot, ITradingBot
private async Task CancelAllOrders()
{
- if (!IsForBacktest)
+ if (!IsForBacktest && !IsForWatchingOnly)
{
try
{
diff --git a/src/Managing.Application/ManageBot/BackupBotCommandHandler.cs b/src/Managing.Application/ManageBot/BackupBotCommandHandler.cs
index 4b5d127..98c4690 100644
--- a/src/Managing.Application/ManageBot/BackupBotCommandHandler.cs
+++ b/src/Managing.Application/ManageBot/BackupBotCommandHandler.cs
@@ -2,21 +2,16 @@
using MediatR;
using static Managing.Common.Enums;
using Managing.Application.Abstractions;
-using Managing.Application.ManageBot.Commands;
-using Managing.Domain.MoneyManagements;
namespace Managing.Application.ManageBot
{
public class BackupBotCommandHandler : IRequestHandler
{
- private readonly IBotFactory _botFactory;
private readonly ITaskCache _taskCache;
- private readonly IMoneyManagementService _moneyManagementService;
private readonly IBotService _botService;
- public BackupBotCommandHandler(IBotFactory botFactory, ITaskCache taskCache, IBotService botService)
+ public BackupBotCommandHandler(ITaskCache taskCache, IBotService botService)
{
- _botFactory = botFactory;
_taskCache = taskCache;
_botService = botService;
}
diff --git a/src/Managing.Application/ManageBot/BotService.cs b/src/Managing.Application/ManageBot/BotService.cs
index 7319cc8..e5a0b6c 100644
--- a/src/Managing.Application/ManageBot/BotService.cs
+++ b/src/Managing.Application/ManageBot/BotService.cs
@@ -1,6 +1,4 @@
using Managing.Application.Abstractions;
-using Newtonsoft.Json;
-using System.IO;
namespace Managing.Application.ManageBot
{
diff --git a/src/Managing.Application/Trading/TradingService.cs b/src/Managing.Application/Trading/TradingService.cs
index 47871b5..d752d91 100644
--- a/src/Managing.Application/Trading/TradingService.cs
+++ b/src/Managing.Application/Trading/TradingService.cs
@@ -206,7 +206,7 @@ public class TradingService : ITradingService
return _cacheService.GetOrSave($"Fee-{account.Exchange}", () =>
{
- return _tradingRepository.GetFee(TradingExchanges.Evm).Cost;
+ return _tradingRepository.GetFee(TradingExchanges.Evm)?.Cost ?? 0m;
}, TimeSpan.FromHours(2));
}
diff --git a/src/Managing.Docker/docker-compose.sandbox.yml b/src/Managing.Docker/docker-compose.local.yml
similarity index 52%
rename from src/Managing.Docker/docker-compose.sandbox.yml
rename to src/Managing.Docker/docker-compose.local.yml
index d4c7d4e..5b4f8b7 100644
--- a/src/Managing.Docker/docker-compose.sandbox.yml
+++ b/src/Managing.Docker/docker-compose.local.yml
@@ -4,9 +4,9 @@ version: '3.4'
services:
managing.api:
environment:
- - ASPNETCORE_ENVIRONMENT=oda-docker
+ - ASPNETCORE_ENVIRONMENT=Oda-docker
- ASPNETCORE_URLS=https://+:443;http://+:80
- - ASPNETCORE_Kestrel__Certificates__Default__Password=!MotdepasseFort11
+ - ASPNETCORE_Kestrel__Certificates__Default__Password=!Managing94
- ASPNETCORE_Kestrel__Certificates__Default__Path=/app/managing_cert.pfx
ports:
- "80:80"
@@ -14,20 +14,23 @@ services:
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
+ - /Users/oda/ASP.NET/Https:/root/.aspnet/https:ro
+ - /Users/oda/Microsoft/UserSecrets:/root/.microsoft/usersecrets/$USER_SECRETS_ID
depends_on:
- managingdb
managing.api.workers:
environment:
- - ASPNETCORE_ENVIRONMENT=oda-docker
+ - ASPNETCORE_ENVIRONMENT=Oda-docker
- ASPNETCORE_URLS=https://+:443;http://+:80
- - ASPNETCORE_Kestrel__Certificates__Default__Password=!MotdepasseFort11
+ - ASPNETCORE_Kestrel__Certificates__Default__Password=!Managing94
- ASPNETCORE_Kestrel__Certificates__Default__Path=/app/managing_cert.pfx
ports:
- "81:80"
- "444:443"
volumes:
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
+ - /Users/oda/ASP.NET/Https:/root/.aspnet/https:ro
depends_on:
- managingdb
@@ -38,24 +41,24 @@ services:
ports:
- "27017:27017"
- elasticsearch:
- ports:
- - 9200:9200
- volumes:
- - elasticsearch-data:/usr/share/elasticsearch/data
- environment:
- - discovery.type=single-node
- - xpack.monitoring.templates.enabled=true
- - ES_JAVA_OPTS=-Xms1g -Xmx1g
- - xpack.security.enabled=false
+ # elasticsearch:
+ # ports:
+ # - 9200:9200
+ # volumes:
+ # - elasticsearch-data:/usr/share/elasticsearch/data
+ # environment:
+ # - discovery.type=single-node
+ # - xpack.monitoring.templates.enabled=true
+ # - ES_JAVA_OPTS=-Xms1g -Xmx1g
+ # - xpack.security.enabled=false
- kibana:
- ports:
- - 5601:5601
- depends_on:
- - elasticsearch
- environment:
- - ELASTICSEARCH_URL=http://elasticsearch:9200
+ # kibana:
+ # ports:
+ # - 5601:5601
+ # depends_on:
+ # - elasticsearch
+ # environment:
+ # - ELASTICSEARCH_URL=http://elasticsearch:9200
influxdb:
image: influxdb:latest
diff --git a/src/Managing.Docker/docker-compose.yml b/src/Managing.Docker/docker-compose.yml
index f86658c..e8e3f83 100644
--- a/src/Managing.Docker/docker-compose.yml
+++ b/src/Managing.Docker/docker-compose.yml
@@ -22,13 +22,13 @@ services:
networks:
- managing-network
- elasticsearch:
- image: elasticsearch:8.4.1
- networks:
- - managing-network
+ # elasticsearch:
+ # image: elasticsearch:8.4.1
+ # networks:
+ # - managing-network
- kibana:
- image: kibana:8.4.1
+ # kibana:
+ # image: kibana:8.4.1
influxdb:
image: influxdb:latest
diff --git a/src/Managing.Infrastructure.Database/BotRepository.cs b/src/Managing.Infrastructure.Database/BotRepository.cs
index 4147431..2fa3ec7 100644
--- a/src/Managing.Infrastructure.Database/BotRepository.cs
+++ b/src/Managing.Infrastructure.Database/BotRepository.cs
@@ -1,5 +1,4 @@
-using Managing.Domain.Bots;
-using Managing.Infrastructure.Databases.MongoDb;
+using Managing.Infrastructure.Databases.MongoDb;
using Managing.Infrastructure.Databases.MongoDb.Abstractions;
using Managing.Infrastructure.Databases.MongoDb.Collections;
@@ -27,7 +26,7 @@ public class BotRepository : IBotRepository
public async Task UpdateBackupBot(BotBackup bot)
{
- var b = _botRepository.FindOne(b => b.Name == bot.Name);
+ var b = await _botRepository.FindOneAsync(b => b.Name == bot.Name);
var dto = MongoMappers.Map(bot);
dto.Id = b.Id;
_botRepository.Update(dto);
diff --git a/src/Managing.WebApp/.env b/src/Managing.WebApp/.env
index 0b33460..1f85358 100644
--- a/src/Managing.WebApp/.env
+++ b/src/Managing.WebApp/.env
@@ -1,4 +1,4 @@
-VITE_API_URL_LOCAL=https://localhost:5001
+VITE_API_URL_LOCAL=https://localhost:443
VITE_API_URL_SERVER=https://dev-managing-api.apps.managing.live
VITE_WORKER_URL_LOCAL=https://localhost:5002
VITE_WORKER_URL_SERVER=https://dev-managing-worker.apps.managing.live