RF-Slice 0: FeeModel nach Core (geteilte Markt-Infrastruktur)

Vorbereitung fuer das ResolutionFarming-Modul: FeeModel von
PolyTrader.Modules.CopyTrading.Logic nach PolyTrader.Core.Trading verschoben, damit
mehrere Strategiemodule dieselbe Fee-Logik nutzen koennen (Module duerfen nicht
voneinander abhaengen -> geteiltes gehoert in den Core). CopyTrading-Referenzen +
FeeModelTests auf den Core-Namespace umgestellt. Rein mechanisch, verhaltensneutral.

Build 0 Fehler, 244 Tests gruen, --smoke-ui ok.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-07-09 21:35:11 +02:00
co-authored by Claude Opus 4.8
parent c091e79869
commit 2f5270a2f3
7 changed files with 13 additions and 7 deletions
@@ -1,10 +1,11 @@
namespace PolyTrader.Modules.CopyTrading.Logic namespace PolyTrader.Core.Trading
{ {
/// <summary> /// <summary>
/// Reine Fee-Logik (Phase 0.2). Polymarket erhebt seit März 2026 Taker-Fees (Maker zahlen 0). /// Reine Fee-Logik (geteilte Markt-Infrastruktur im Core von mehreren Strategiemodulen genutzt).
/// Der reale Satz kommt idealerweise vom Markt-Objekt der CLOB-/Gamma-API (Feldname im Zielland /// Polymarket erhebt seit März 2026 Taker-Fees (Maker zahlen 0). Der reale Satz kommt idealerweise
/// anhand https://docs.polymarket.com/trading/fees verifizieren); bis dahin greift die /// vom Markt-Objekt der CLOB-/Gamma-API (Feldname im Zielland anhand
/// Kategorie-Fallback-Tabelle. Werte in Basispunkten (bps): 100 bps = 1,0 %. /// https://docs.polymarket.com/trading/fees verifizieren); bis dahin greift die Kategorie-Fallback-
/// Tabelle. Werte in Basispunkten (bps): 100 bps = 1,0 %.
/// </summary> /// </summary>
public static class FeeModel public static class FeeModel
{ {
@@ -1,4 +1,5 @@
using System; using System;
using PolyTrader.Core.Trading;
namespace PolyTrader.Modules.CopyTrading.Logic namespace PolyTrader.Modules.CopyTrading.Logic
{ {
@@ -1,5 +1,6 @@
using System; using System;
using PolyTrader.Core.Persistence; using PolyTrader.Core.Persistence;
using PolyTrader.Core.Trading;
using System.Threading; using System.Threading;
using System.Threading.Channels; using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -1,5 +1,6 @@
using System; using System;
using PolyTrader.Core.Persistence; using PolyTrader.Core.Persistence;
using PolyTrader.Core.Trading;
using PolyTrader.Modules.CopyTrading.Logic; using PolyTrader.Modules.CopyTrading.Logic;
using PolyTrader.Modules.CopyTrading.Persistence; using PolyTrader.Modules.CopyTrading.Persistence;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@@ -1,6 +1,7 @@
using System; using System;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using PolyTrader.Core.Trading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using PolyTrader.Core.Persistence; using PolyTrader.Core.Persistence;
@@ -1,5 +1,6 @@
using System; using System;
using PolyTrader.Core.Persistence; using PolyTrader.Core.Persistence;
using PolyTrader.Core.Trading;
using PolyTrader.Modules.CopyTrading.Logic; using PolyTrader.Modules.CopyTrading.Logic;
using PolyTrader.Modules.CopyTrading.Persistence; using PolyTrader.Modules.CopyTrading.Persistence;
using System.Collections.Concurrent; using System.Collections.Concurrent;
+2 -2
View File
@@ -1,6 +1,6 @@
using PolyTrader.Modules.CopyTrading.Logic; using PolyTrader.Core.Trading;
using Xunit; using Xunit;
using static PolyTrader.Modules.CopyTrading.Logic.FeeModel; using static PolyTrader.Core.Trading.FeeModel;
namespace PolyTrader.Tests namespace PolyTrader.Tests
{ {