GMX v2 - Trading (#7)

* Move PrivateKeys.cs

* Update gitignore

* Update gitignore

* updt

* Extract GmxServiceTests.cs

* Refact

* update todo

* Update code

* Fix hashdata

* Replace static token hashed datas

* Set allowance

* Add get orders

* Add get orders tests

* Add ignore

* add close orders

* revert

* Add get gas limit

* Start increasePosition. Todo: Finish GetExecutionFee and estimateGas

* little refact

* Update gitignore

* Fix namespaces and clean repo

* Add tests samples

* Add execution fee

* Add increase position

* Handle backtest on the frontend

* Add tests

* Update increase

* Test increase

* fix increase

* Fix size

* Start get position

* Update get positions

* Fix get position

* Update rpc and trade mappers

* Finish close position

* Fix leverage
This commit is contained in:
Oda
2025-01-30 23:06:22 +07:00
committed by GitHub
parent ecaa89c67b
commit 65bdb8e34f
156 changed files with 11253 additions and 4073 deletions

View File

@@ -3,43 +3,45 @@ using Binance.Net.Interfaces.Clients;
using Kraken.Net.Clients;
using Kraken.Net.Interfaces.Clients;
using Managing.Application.Abstractions;
using Managing.Application.Accounts;
using Managing.Application.Workers;
using Managing.Application.Workers.Abstractions;
using Managing.Infrastructure.Exchanges;
using Managing.Infrastructure.Databases;
using Managing.Infrastructure.Databases.Abstractions;
using Managing.Infrastructure.Databases.InfluxDb.Models;
using Managing.Infrastructure.Databases.MongoDb;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Managing.Infrastructure.Databases.InfluxDb;
using Managing.Application.Abstractions.Repositories;
using Managing.Application.Abstractions.Services;
using Managing.Infrastructure.Databases.MongoDb.Abstractions;
using Managing.Infrastructure.Evm.Subgraphs;
using Managing.Infrastructure.Evm;
using Managing.Infrastructure.Storage;
using Managing.Infrastructure.Exchanges.Abstractions;
using Managing.Infrastructure.Exchanges.Exchanges;
using Managing.Application.Trading;
using Managing.Application.Accounts;
using Managing.Application.Backtesting;
using Managing.Application.Bots.Base;
using Managing.Application.ManageBot;
using Managing.Application.MoneyManagements;
using Managing.Application.Scenarios;
using Managing.Application.Shared;
using Managing.Infrastructure.Messengers.Discord;
using Managing.Application.Trading;
using Managing.Application.Trading.Commands;
using Managing.Application.Workers;
using Managing.Application.Workers.Abstractions;
using Managing.Domain.Trades;
using Managing.Infrastructure.Databases;
using Managing.Infrastructure.Databases.InfluxDb;
using Managing.Infrastructure.Databases.InfluxDb.Abstractions;
using Managing.Infrastructure.Databases.InfluxDb.Models;
using Managing.Infrastructure.Databases.MongoDb;
using Managing.Infrastructure.Databases.MongoDb.Abstractions;
using Managing.Infrastructure.Databases.MongoDb.Configurations;
using Managing.Infrastructure.Evm;
using Managing.Infrastructure.Evm.Services;
using Managing.Application.Bots.Base;
using Managing.Application.ManageBot;
using Managing.Infrastructure.Evm.Subgraphs;
using Managing.Infrastructure.Exchanges;
using Managing.Infrastructure.Exchanges.Abstractions;
using Managing.Infrastructure.Exchanges.Exchanges;
using Managing.Infrastructure.Messengers.Discord;
using Managing.Infrastructure.Storage;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
namespace Managing.Bootstrap;
public static class WorkersBootstrap
{
public static IServiceCollection RegisterWorkersDependencies(this IServiceCollection services, IConfiguration configuration)
public static IServiceCollection RegisterWorkersDependencies(this IServiceCollection services,
IConfiguration configuration)
{
return services
.AddApplication()
@@ -56,7 +58,7 @@ public static class WorkersBootstrap
services.AddSingleton<IWorkerService, WorkerService>();
services.AddSingleton<IAccountService, AccountService>();
services.AddSingleton<IStatisticService, StatisticService>();
services.AddSingleton<ITradingService, TradingService>();
services.AddSingleton<ITradingService, TradingService>();
services.AddSingleton<ISettingsService, SettingsService>();
services.AddSingleton<IBacktester, Backtester>();
services.AddSingleton<IBotService, BotService>();
@@ -71,12 +73,12 @@ public static class WorkersBootstrap
{
// Database
services.AddSingleton<IManagingDatabaseSettings>(sp =>
sp.GetRequiredService<IOptions<ManagingDatabaseSettings>>().Value);
sp.GetRequiredService<IOptions<ManagingDatabaseSettings>>().Value);
services.AddTransient(typeof(IMongoRepository<>), typeof(MongoRepository<>));
services.AddSingleton<IInfluxDbSettings>(sp =>
sp.GetRequiredService<IOptions<InfluxDbSettings>>().Value);
services.AddTransient<IInfluxDbRepository, InfluxDbRepository>();
// Evm
@@ -117,4 +119,4 @@ public static class WorkersBootstrap
return services;
}
}
}