ui: black market buy page with seller list, payment panel, per-merchant accepted coins and auto-convert; wallet row keys beside the data cells

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-04 11:06:38 +08:00
1 parent 12a63c562f
commit 9d24840561
7 files changed
+262 -73

No files matched your search

+21
View File
@@ -51,6 +51,27 @@ namespace Decentralized.Domain
[MerchantType.Luxury] = new[] { C("pheromone_perfume", 2), G("neuroactive_perfume"), G("self_refilling_neuroactive_perfume"), G("skincare_cream"), G("packet_red_cigarette"), G("gamblers_coin"), G("kotton_fabric"), G("armor_lining") },
};
/// <summary>
/// 各类商家收的币:硬件和技术类收 PSC,违禁类收 CRT 和匿名币,农业养殖水务收 PSC 和 CRA,个人卖家收 CRT 和匿名币。
/// 平台现货收 PSC、CRT、CRA。不在表里的币要先换:Web3 内置的自动换币要多付滑点(<see cref="Tuning.BmAutoSwapSlip"/>),也可以自己去 DEX 换。
/// </summary>
public static readonly string[] PlatformAccepts = { Assets.PSC, Assets.CRT, Assets.CRA };
public static string[] Accepts(MerchantType type)
{
switch (type)
{
case MerchantType.Rigs: case MerchantType.Modules: case MerchantType.Miner: case MerchantType.Tools: case MerchantType.Storage:
case MerchantType.GpuNew: case MerchantType.GpuUsed: case MerchantType.Asic: case MerchantType.Elite: case MerchantType.Bulk:
return new[] { Assets.PSC, Assets.CRT };
case MerchantType.Arms: case MerchantType.GunMods: case MerchantType.Docs: case MerchantType.Pharma: case MerchantType.Chem:
case MerchantType.Luxury: case MerchantType.Personal:
return new[] { Assets.CRT, Assets.Ponero };
default: // Brewer、Farm、Husbandry、Water
return new[] { Assets.PSC, Assets.CRA };
}
}
private static readonly Dictionary<string, BmEntry> ById = BuildIndex();
private static Dictionary<string, BmEntry> BuildIndex()
+3
View File
@@ -237,6 +237,9 @@ namespace Decentralized.Domain
public const double FakeSupportChance = 0.04, FakeTransferShare = 0.08;
public const int ScamMinDay = 10;
/// <summary>Web3 内置自动换币:商家不收手里的币时,按这个比例多付(DEX 手续费 0.3% 加上高滑点),省得自己去换。</summary>
public const double BmAutoSwapSlip = 0.08;
/// <summary>剧情联动:塞尔皮科证据交给革命军(CRA 补贴池注资、螺旋概率倍率与期限、SPARK 几晚内涨到的倍数)、交给黑市(CRT 脱锚与被出卖的倍率)、
/// 交给治安部(期限内出金审查命中、混币器制裁、操纵与内幕查处的倍率);埃莉诺泄露数据盘(CRC 托管减记倍率、SPARK 涨幅)、交回(CRC 脱锚倍率);
/// 伦警官被捕(期限与查处倍率);SPARK 推涨分几晚走完。</summary>