Phase 5.1: Modul-Modelle in das CopyTrading-Modul

- TrackedTrader, TraderAnalyticsResult, MasterTraderHistoryRecord nach
  src/PolyTrader.Modules.CopyTrading/Models/ (Namespace beibehalten).
- Ungenutzte Shim-/DB-Usings entfernt (BsonId kommt transitiv via Core).
- Build bestätigt: kein Core-Code referenziert diese Modelle (saubere Grenze).
- Build 0 Fehler. Voraussetzung für den CopyTradingState (5.2).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-07-01 19:59:40 +02:00
co-authored by Claude Opus 4.8
parent b18f013f20
commit 55050a19e5
3 changed files with 0 additions and 4 deletions
-23
View File
@@ -1,23 +0,0 @@
using System;
using MongoDB.Driver;
using PolyTraderSharp.Extensions;
namespace PolyTraderSharp.Models
{
public class MasterTraderHistoryRecord
{
[MongoDB.Bson.Serialization.Attributes.BsonId] public string Id { get; set; } = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
// Verknüpfung zum Master Trader
public int TraderId { get; set; }
// Verknüpfung zum Markt
public string TokenId { get; set; } = string.Empty;
// Der erfasste Profit / Loss auf Polymarket
public decimal RealizedPnl { get; set; }
// Timestamp des Trades
public DateTime ClosedAt { get; set; }
}
}
-55
View File
@@ -1,55 +0,0 @@
using System;
using MongoDB.Driver;
using PolyTraderSharp.Extensions;
using System.ComponentModel;
using System.Collections.Generic;
namespace PolyTraderSharp.Models
{
public class TrackedTrader
{
[Browsable(false)]
[MongoDB.Bson.Serialization.Attributes.BsonId] public int Id { get; set; }
[Category("01. Identification")]
public string WalletAddress { get; set; } = string.Empty;
[Category("01. Identification")]
public string DisplayName { get; set; } = string.Empty;
[Category("02. Categorization")]
public string Category { get; set; } = "NEW_BIG_BET";
[Category("02. Categorization")]
public string Description { get; set; } = string.Empty;
[Category("02. Categorization")]
public string Reasoning { get; set; } = string.Empty;
[Category("03. General")]
public bool IsActive { get; set; } = true;
[Category("03. General")]
public bool IsHidden { get; set; } = false;
// Stats
[Category("04. Statistics")]
[ReadOnly(true)]
public int TotalTrades { get; set; } = 0;
[Category("04. Statistics")]
[ReadOnly(true)]
public int WinningTrades { get; set; } = 0;
[Category("04. Statistics")]
[ReadOnly(true)]
public double Winrate30t { get; set; } = 0.0;
[Category("04. Statistics")]
[ReadOnly(true)]
public double TotalPnl { get; set; } = 0.0;
[Browsable(false)]
public HashSet<int> AssignedAccountIds { get; set; } = new();
}
}
-13
View File
@@ -1,13 +0,0 @@
namespace PolyTraderSharp.Models
{
public class TraderAnalyticsResult
{
public int AccountId { get; set; }
public int SourceTraderId { get; set; }
public string SourceTraderName { get; set; } = string.Empty;
public string SourceTraderAddress { get; set; } = string.Empty;
public decimal Winrate30T { get; set; }
public decimal Pnl30T { get; set; }
public int Trades7D { get; set; }
}
}