From 591dc50eb92235f9193440045192ac2e0ec9d136 Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 29 Dec 2025 02:54:43 -0800 Subject: [PATCH] =?UTF-8?q?fix(service-party-app):=20=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E6=97=B6=E6=B7=BB=E5=8A=A0=20initiator=5Fpar?= =?UTF-8?q?ty=5Fid=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CreateKeygenSessionRequest 添加 initiator_party_id 和 initiator_name 字段 - 创建会话前检查是否已连接到消息路由器 - 自动获取已注册的 partyId 作为发起者 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../services/service-party-app/electron/main.ts | 8 ++++++++ .../service-party-app/electron/modules/account-client.ts | 2 ++ 2 files changed, 10 insertions(+) diff --git a/backend/mpc-system/services/service-party-app/electron/main.ts b/backend/mpc-system/services/service-party-app/electron/main.ts index a7001ee2..e879c74f 100644 --- a/backend/mpc-system/services/service-party-app/electron/main.ts +++ b/backend/mpc-system/services/service-party-app/electron/main.ts @@ -192,10 +192,18 @@ function setupIpcHandlers() { // gRPC - 创建会话 (通过 Account 服务 HTTP API) ipcMain.handle('grpc:createSession', async (_event, params) => { try { + // 获取当前 party ID + const partyId = grpcClient?.getPartyId(); + if (!partyId) { + return { success: false, error: '请先连接到消息路由器' }; + } + const result = await accountClient?.createKeygenSession({ wallet_name: params.walletName, threshold_t: params.thresholdT, threshold_n: params.thresholdN, + initiator_party_id: partyId, + initiator_name: params.initiatorName || '发起者', persistent_count: 0, // 服务端 party 数量,共管钱包模式下为 0 external_count: params.thresholdN, // 所有参与方都是外部 party expires_in_seconds: 86400, // 24 小时 diff --git a/backend/mpc-system/services/service-party-app/electron/modules/account-client.ts b/backend/mpc-system/services/service-party-app/electron/modules/account-client.ts index e0f61a48..e10a6ae0 100644 --- a/backend/mpc-system/services/service-party-app/electron/modules/account-client.ts +++ b/backend/mpc-system/services/service-party-app/electron/modules/account-client.ts @@ -14,6 +14,8 @@ export interface CreateKeygenSessionRequest { wallet_name: string; threshold_t: number; threshold_n: number; + initiator_party_id: string; + initiator_name?: string; persistent_count: number; external_count: number; expires_in_seconds?: number;