diff --git a/backend/mpc-system/services/server-party/application/use_cases/participate_keygen.go b/backend/mpc-system/services/server-party/application/use_cases/participate_keygen.go index 70db6862..82b4f763 100644 --- a/backend/mpc-system/services/server-party/application/use_cases/participate_keygen.go +++ b/backend/mpc-system/services/server-party/application/use_cases/participate_keygen.go @@ -121,7 +121,15 @@ func (uc *ParticipateKeygenUseCase) Execute( if p.PartyID == input.PartyID { selfIndex = p.PartyIndex } + logger.Debug("Added participant to index map", + zap.String("party_id", p.PartyID), + zap.Int("party_index", p.PartyIndex)) } + logger.Info("Built party index map", + zap.String("session_id", input.SessionID.String()), + zap.String("self_party_id", input.PartyID), + zap.Int("self_index", selfIndex), + zap.Int("total_participants", len(sessionInfo.Participants))) // 3. Subscribe to messages msgChan, err := uc.messageRouter.SubscribeMessages(ctx, input.SessionID, input.PartyID) @@ -303,16 +311,28 @@ func (h *keygenMessageHandler) convertMessages(ctx context.Context, inChan <-cha for { select { case <-ctx.Done(): + logger.Debug("convertMessages context cancelled", zap.String("session_id", h.sessionID.String())) close(h.msgChan) return case msg, ok := <-inChan: if !ok { + logger.Debug("convertMessages inChan closed", zap.String("session_id", h.sessionID.String())) close(h.msgChan) return } + logger.Debug("Received MPC message for conversion", + zap.String("session_id", h.sessionID.String()), + zap.String("from_party", msg.FromParty), + zap.Bool("is_broadcast", msg.IsBroadcast), + zap.Int("payload_size", len(msg.Payload))) + fromIndex, exists := h.partyIndexMap[msg.FromParty] if !exists { + logger.Warn("Message from unknown party - dropping", + zap.String("session_id", h.sessionID.String()), + zap.String("from_party", msg.FromParty), + zap.Any("known_parties", h.partyIndexMap)) continue } @@ -322,8 +342,15 @@ func (h *keygenMessageHandler) convertMessages(ctx context.Context, inChan <-cha MsgBytes: msg.Payload, } + logger.Debug("Converted message, sending to TSS", + zap.String("session_id", h.sessionID.String()), + zap.String("from_party", msg.FromParty), + zap.Int("from_index", fromIndex)) + select { case h.msgChan <- tssMsg: + logger.Debug("Message sent to TSS successfully", + zap.String("session_id", h.sessionID.String())) case <-ctx.Done(): return }