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;