Commit Graph

165 Commits

Author SHA1 Message Date
bcb00b9a86 Refactor pagination sorting parameters across multiple controllers and services to use the new SortDirection enum; update related API models and TypeScript definitions for consistency. Fix minor documentation and naming inconsistencies in the Bot and Data controllers. 2025-12-14 20:23:26 +07:00
a254db6d24 Update bot market type 2025-12-11 23:32:06 +07:00
35df25915f Add flagsmith 2025-12-11 19:22:54 +07:00
931af3d3af Refactor SpotBot and ExchangeService for balance retrieval
- Updated SpotBot to fetch token balance directly using the new GetBalance method in IExchangeService.
- Modified IExchangeService to include a method for retrieving balance by ticker.
- Enhanced ExchangeService to implement the new balance retrieval logic for both EVM and non-EVM exchanges.
- Updated TokenService to streamline contract address and decimal retrieval for various tokens.
- Adjusted TradesModal to reflect changes in position status handling.
2025-12-08 23:37:10 +07:00
a2ed4edd32 Implement spot position history retrieval in SpotBot and related services
- Added CheckSpotPositionInExchangeHistory method to SpotBot for verifying closed positions against exchange history.
- Enhanced logging for Web3Proxy errors during position verification.
- Introduced GetSpotPositionHistory method in IEvmManager, IExchangeService, and IWeb3ProxyService interfaces.
- Implemented GetSpotPositionHistory in EvmManager and ExchangeService to fetch historical swap data.
- Updated GMX SDK integration to support fetching spot position history.
- Modified generated API types to include new trading type and position history structures.
2025-12-07 19:20:47 +07:00
78edd850fe Add isLiveTrading helper to fix bug 2025-12-04 23:42:09 +07:00
3771bb5dde Refactor SwapGmxTokens functionality into TradingService
- Moved SwapGmxTokensAsync method from AccountService to TradingService to centralize trading operations.
- Updated AccountController and AgentGrain to utilize the new TradingService method for swapping GMX tokens.
- Removed the old SwapGmxTokensAsync method from IAccountService and its implementation in AccountService.
2025-12-01 22:49:30 +07:00
Oda
9d536ea49e Refactoring TradingBotBase.cs + clean architecture (#38)
* Refactoring TradingBotBase.cs + clean architecture

* Fix basic tests

* Fix tests

* Fix workers

* Fix open positions

* Fix closing position stucking the grain

* Fix comments

* Refactor candle handling to use IReadOnlyList for chronological order preservation across various components
2025-12-01 19:32:06 +07:00
411fc41bef Refactor BotController and BotService for improved bot management
- Cleaned up constructor parameters in BotController for better readability.
- Enhanced StartCopyTradingCommand handling with improved formatting.
- Updated bot deletion logic in BotService to delete associated positions and trigger agent summary updates.
- Added new method in TradingService for deleting positions by initiator identifier.
- Implemented error handling in StopBotCommandHandler to ensure agent summary updates do not disrupt bot stop operations.
2025-11-23 15:30:11 +07:00
2a354bd7d2 Implement profitable bots filtering in BotController and DataController
- Added IConfiguration dependency to BotController for accessing environment variables.
- Updated GetBotsPaginatedAsync method in BotService and IBotService to include a flag for filtering profitable bots.
- Modified DataController to utilize the new filtering option for agent summaries and bot retrieval.
- Enhanced PostgreSqlBotRepository to apply filtering based on profitability when querying bots.
2025-11-22 14:02:29 +07:00
e69dd43ace Enhance DataController and BotService with new configuration and bot name checks
- Added IConfiguration dependency to DataController for environment variable access.
- Updated GetPaginatedAgentSummariesCommand to include a flag for filtering profitable agents.
- Implemented HasUserBotWithNameAsync method in IBotService and BotService to check for existing bots by name.
- Modified StartBotCommandHandler and StartCopyTradingCommandHandler to prevent duplicate bot names during strategy creation.
2025-11-22 13:34:26 +07:00
269bbfaab0 Add GetBotByUserIdAndNameAsync method to IBotService and BotService
- Implemented GetBotByUserIdAndNameAsync in IBotService and BotService to retrieve a bot by user ID and name.
- Updated GetUserStrategyCommandHandler to utilize the new method for fetching strategies based on user ID.
- Added corresponding method in IBotRepository and PostgreSqlBotRepository for database access.
2025-11-22 10:46:07 +07:00
476bcebfe9 Fix active strategy count on plateform surmmary 2025-11-21 20:02:33 +07:00
153e170ca4 Refactor LiveBotRegistryGrain and PlatformSummaryGrain to improve active bot tracking
- Introduced CalculateActiveBotsCount method in LiveBotRegistryGrain to streamline active bot count calculations.
- Updated logging to reflect active bot counts accurately during registration and unregistration.
- Added historical tracking of strategy activation/deactivation events in PlatformSummaryGrain, including a new StrategyEvent class and related logic to manage event history.
- Enhanced CalculateActiveStrategiesForDate method to compute active strategies based on historical events.
2025-11-21 19:38:32 +07:00
02e46e8d0d Add paginated user retrieval functionality in AdminController and related services. Implemented UsersFilter for filtering user queries and added LastConnectionDate property to User model. Updated database schema and frontend API to support new user management features. 2025-11-17 20:04:17 +07:00
06ef33b7ab Enhance user authentication by adding optional OwnerWalletAddress parameter in LoginRequest and UserService. Update UserController and related components to support the new wallet address functionality, ensuring better user profile management and validation in trading operations. 2025-11-17 13:48:05 +07:00
8697f1598d Add validation for Kudai strategy staking requirements in StartCopyTradingCommandHandler. Implemented methods in IEvmManager to retrieve staked KUDAI balance and GBC NFT count. Enhanced error handling for staking checks. 2025-11-17 12:57:47 +07:00
c229212acd Add copy trading authorization checks in LiveTradingBotGrain and StartCopyTradingCommandHandler. Integrated IKaigenService to verify user ownership of master strategy keys before allowing copy trading. Enhanced error handling and logging for authorization verification. 2025-11-16 22:11:54 +07:00
3b176c290c Update precalculated indicators values 2025-11-12 23:26:12 +07:00
4a8c22e52a Update and fix worker 2025-11-11 03:02:24 +07:00
e8e2ec5a43 Add test for executor 2025-11-11 02:15:57 +07:00
fec1c78b3c Update jwt config for sandbox 2025-11-10 17:00:05 +07:00
91c766de86 Add admin endpoint to delete bundle backtest requests and implement related UI functionality + Add job resilient 2025-11-10 12:28:07 +07:00
0861e9a8d2 Add admin page for bundle 2025-11-10 11:50:20 +07:00
51a227e27e Improve perf for backtests 2025-11-10 02:15:43 +07:00
7e52b7a734 Improve workers for backtests 2025-11-10 01:44:33 +07:00
b1cd01bf9b Fix backtest count 2025-11-09 14:00:36 +07:00
7e08e63dd1 Add genetic backtest to worker 2025-11-09 03:32:08 +07:00
7dba29c66f Add jobs 2025-11-09 02:08:31 +07:00
e0795677e4 Add whitelisting and admin 2025-11-07 23:46:48 +07:00
21110cd771 Add whitelisting service + update the jwt valid audience 2025-11-07 19:38:33 +07:00
5afddb895e Add async for saving backtests 2025-11-05 16:58:46 +07:00
f816b8de50 Update fetch borkerPosition in bot + better HandleClosePosition + Add debug channel to receive all debug 2025-10-25 18:35:51 +07:00
fc4369a008 Add start and enddate when fetching the position history 2025-10-24 18:00:23 +07:00
af08462e59 Add save only for bundle backtest 2025-10-21 16:38:51 +07:00
b3f3bccd72 Add delete backtests by filters 2025-10-15 00:28:25 +07:00
a462fc9948 Add name to backtest filters 2025-10-14 18:38:27 +07:00
74adad5834 Add filters and sorting for backtests 2025-10-14 18:06:36 +07:00
ff74296c26 Fix restart/start if not account with the first account of the user 2025-10-12 16:08:12 +07:00
b6a4c7661f Fix update agent Summary when new balance fetch 2025-10-11 13:10:47 +07:00
d71d47f644 Add reason when stopping bot 2025-10-10 23:31:32 +07:00
652c01b8bb Fix AgentName 2025-10-10 16:08:50 +07:00
b6b11be33a Fix perf with cache 2025-10-10 03:42:57 +07:00
67065469a6 Fix config update + remove messages + Summary fix for not open position 2025-10-08 02:52:11 +07:00
85000644a6 Add ROI to botPaginated 2025-10-06 23:54:59 +07:00
746308bc4f Remove get best agent 2025-10-06 18:31:29 +07:00
347c78afc7 Update messaging 2025-10-06 01:34:13 +07:00
dac0a9641f Fetch closed position to get last pnl realized 2025-10-05 23:31:17 +07:00
de0d042254 Use usdc balance instead usdc value for ensuring balance check 2025-10-05 01:36:25 +07:00
b473ad6ad8 Fix trades date 2025-10-04 16:47:22 +07:00