rwadurian/frontend/mobile-app/lib/features
hailin 10b25e222e fix: 防止钱包生成中状态下重复触发MPC keygen
问题:
- 前端在钱包状态为"generating"时仍然调用retryWalletGeneration
- 后端identity-service没有检查生成中状态
- mpc-service没有幂等保护,可能导致同一用户多次keygen

修复:
1. 前端 wallet_status_provider.dart:
   - 只在"failed"状态下才触发重试
   - "generating"状态只更新UI,继续轮询等待

2. 后端 identity-service user-application.service.ts:
   - retryWalletGeneration添加Redis状态检查
   - pending/generating/deriving状态下跳过重试
   - 只有failed或无状态时才触发重试

3. 后端 mpc-service keygen-requested.handler.ts:
   - 使用分布式锁防止同一用户重复keygen
   - 锁TTL为5分钟,覆盖整个keygen过程
   - 无法获取锁时跳过请求

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 18:55:51 -08:00
..
account/presentation/pages fix(frontend): 添加新账号时显示加载状态提示 2025-12-15 06:14:49 -08:00
auth/presentation fix: 防止钱包生成中状态下重复触发MPC keygen 2025-12-21 18:55:51 -08:00
authorization/presentation chore: 提交所有未提交的修改 2025-12-19 06:09:43 -08:00
deposit/presentation/pages feat: 充值页面添加长按二维码10秒切换到真实钱包地址模式 2025-12-21 18:46:35 -08:00
home/presentation refactor(splash): 简化开屏动画为纯帧播放,恢复监控Tab 2025-12-15 03:28:53 -08:00
mining/presentation/pages feat: 充值/提现页面添加钱包状态检查,优化钱包状态轮询逻辑 2025-12-21 18:36:44 -08:00
notification/presentation/pages feat(notification): 添加通知中心功能 2025-12-14 20:45:03 -08:00
planting/presentation feat(ui): 将全部"积分"更名为"绿积分" 2025-12-16 07:49:45 -08:00
profile/presentation refactor: 钱包状态轮询自动重试,移除手动重试按钮 2025-12-21 18:20:10 -08:00
ranking/presentation/pages feat(ui): 优化待领取明细显示和移除认种数量限制 2025-12-16 22:46:48 -08:00
security/presentation/pages fix(referral): correct response parsing for authorization-service API 2025-12-11 03:08:50 -08:00
share/presentation/pages feat(frontend): 多项功能改进 2025-12-15 04:04:21 -08:00
trading/presentation/pages chore: 提交所有未提交的修改 2025-12-19 06:09:43 -08:00
withdraw/presentation/pages feat: 充值/提现页面添加钱包状态检查,优化钱包状态轮询逻辑 2025-12-21 18:36:44 -08:00