Flagged status follows traceable transfers; wallet split review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Opus 5.5 committed 2026-11-03 23:36:20 +08:00
1 parent 50c119697e
commit 8e585393a7
3 files changed
+15 -2

No files matched your search

@@ -853,6 +853,16 @@ internal static class Program
Check(Math.Abs(v - 6000) < 1e-6 && w.Balances.Count == 0 && w.Frozen.Count == 0 && w.Taint == 0 && w.Basis == 0, $"全部转走(含冻结),污点和成本清零:{v}");
});
Test("被标记的钱包转出可追踪的币,收款方也被标记;Ponero 不会", () =>
{
Func<string, double> price = x => 1;
var f = new Wallet { Address = "f", Flagged = true }; f.Add(Assets.CRC, 100); f.Add(Assets.Ponero, 100);
var p1 = new Wallet { Address = "p1" }; var p2 = new Wallet { Address = "p2" };
Wallet.Transfer(f, p1, Assets.CRC, 10, price);
Wallet.Transfer(f, p2, Assets.Ponero, 10, price);
Check(p1.Flagged && !p2.Flagged, "CRC 带标记,Ponero 不带");
});
Test("多钱包:退款、出售回款、混币提回都回到原来的钱包", () =>
{
Func<string, double> price = a => a == Assets.PSC ? 100 : 1;