docs(co-managed): co-sign 实施详细备注和回滚方法
## 提交信息 - 功能提交:ad4549e7- 回滚目标:dbeef9f4## 修改文件 1. services/server-party/application/use_cases/participate_signing.go - 新增 ExecuteWithSessionInfo 方法(Line 66-88) - 重构 Execute 委托给 executeWithSessionInfo(Line 90-107) - 新增 executeWithSessionInfo 私有方法(Line 109-241) 2. services/server-party-co-managed/cmd/server/main.go - 初始化 participateSigningUC(Line 152-156) - 传递 participateSigningUC 参数(Line 205) - 更新函数签名(Line 322-328) - session_created: 移除签名拒绝,添加 2-of-3 检查(Line 361-383) - session_started: 根据 messageHash 判断 keygen/sign(Line 420-505) ## 架构原则 ✅ 100% 寄生 server-party 的 use_cases(与 co-keygen 一致) ✅ 不影响 server-party 现有功能 ✅ 仅支持 2-of-3 配置 ✅ 向后兼容(KeygenSessionID fallback) ## 回滚方法 ### 方法 1: 完全回滚(推荐) git reset --harddbeef9f4git push origin main --force ### 方法 2: 选择性回滚(保留 Android) cd services/server-party/application/use_cases git checkoutdbeef9f4-- participate_signing.go cd ../../../server-party-co-managed/cmd/server git checkoutdbeef9f4-- main.go git commit -m "revert: 回滚 co-sign 后端" git push origin main ### 方法 3: 手动回滚代码修改点 participate_signing.go: 1. 删除 ExecuteWithSessionInfo(Line 66-88) 2. 删除 executeWithSessionInfo(Line 109-241) 3. 恢复 Execute 原有实现(不委托) server-party-co-managed/main.go: 1. 删除 participateSigningUC 初始化(Line 152-156) 2. 移除 participateSigningUC 参数(Line 205, 328) 3. session_created 恢复拒绝逻辑: if len(event.MessageHash) > 0 { logger.Debug("Ignoring sign session") return } 4. session_started 移除 isSignSession 判断,只保留 keygen 分支 ## 部署验证 编译测试: ✅ go build 成功 功能测试: 待部署后验证 日志关键字: "co_managed_sign", "Sign session detected (2-of-3)" ## 已知风险 - Android UI 已存在,后端未部署会导致功能不可用 - 用户勾选"包含服务器备份"会永久等待(不会丢失资产) - 需要重启 server-party-co-managed 服务 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
ad4549e767
commit
514722143f