rwadurian/frontend/mining-app/lib/presentation
hailin 0576733579 fix(mining-app): 统一贡献值页与兑换页的剩余积分股计算方式
贡献值页原先使用 sharePoolBalance API (Pool A + Pool B 余额) 显示剩余积分股,
兑换页使用公式 totalShares - totalMined - blackHoleAmount 计算。
两者显示结果不一致 (差异约 228,343 积分股)。

根本原因调查:
- mining-wallet-service 的 Kafka 消费者在服务重启期间丢失了部分事件
- Pool B 仅处理了 15.7% 的挖矿分配事件 (28,261/180,497)
- Pool A 遗漏了 66,591 笔销毁扣减事件
- 池账户余额是通过 Kafka 事件维护的记账台账,存在消费遗漏
- totalShares - totalMined - blackHoleAmount 公式基于实际挖矿和销毁数据计算,是数学上的 ground truth
- 实际用户分配和销毁均 100% 准确,仅池账户记账有偏差

修复方案:
- 贡献值页改用 marketOverviewProvider (同兑换页)
- 使用公式 totalShares - totalMined - blackHoleAmount 计算剩余积分股
- 两个页面现在显示完全一致的数据

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:28:55 -08:00
..
pages fix(mining-app): 统一贡献值页与兑换页的剩余积分股计算方式 2026-03-02 22:28:55 -08:00
providers feat(notifications): 2.0系统通知弹窗功能(后端+管理端+APP端) 2026-03-02 08:35:16 -08:00
widgets feat(notifications): 2.0系统通知弹窗功能(后端+管理端+APP端) 2026-03-02 08:35:16 -08:00