@@ -83,7 +83,6 @@ func (p *Node) CreateKeyGenSession(
8383 walletID string ,
8484 threshold int ,
8585 resultQueue messaging.MessageQueue ,
86- selectedNodeIDs []string ,
8786) (KeyGenSession , error ) {
8887 if ! p .peerRegistry .ArePeersReady () {
8988 return nil , errors .New ("All nodes are not ready!" )
@@ -94,43 +93,24 @@ func (p *Node) CreateKeyGenSession(
9493 return nil , fmt .Errorf ("Key already exists: %s" , walletID )
9594 }
9695
97- var nodeIDs []string
98- if len (selectedNodeIDs ) > 0 {
99- // Use selected node IDs, but filter to only include ready peers
100- readyPeerIDs := p .peerRegistry .GetReadyPeersIncludeSelf ()
101- nodeIDs = p .filterReadyPeers (selectedNodeIDs , readyPeerIDs )
102-
103- // Validate that we have enough ready nodes
104- if len (nodeIDs ) < threshold + 1 {
105- return nil , fmt .Errorf ("not enough ready nodes in selected list: expected at least %d, got %d" , threshold + 1 , len (nodeIDs ))
106- }
107-
108- // Validate that self is in the selected list - return special error to skip, same as sign
109- if ! slices .Contains (nodeIDs , p .nodeID ) {
110- return nil , ErrNotInParticipantList
111- }
112- } else {
113- // Use all ready peers if no selection provided
114- nodeIDs = p .peerRegistry .GetReadyPeersIncludeSelf ()
115- }
116-
11796 switch sessionType {
11897 case SessionTypeECDSA :
119- return p .createECDSAKeyGenSession (walletID , threshold , DefaultVersion , resultQueue , nodeIDs )
98+ return p .createECDSAKeyGenSession (walletID , threshold , DefaultVersion , resultQueue )
12099 case SessionTypeEDDSA :
121- return p .createEDDSAKeyGenSession (walletID , threshold , DefaultVersion , resultQueue , nodeIDs )
100+ return p .createEDDSAKeyGenSession (walletID , threshold , DefaultVersion , resultQueue )
122101 default :
123102 return nil , fmt .Errorf ("Unknown session type: %s" , sessionType )
124103 }
125104}
126105
127- func (p * Node ) createECDSAKeyGenSession (walletID string , threshold int , version int , resultQueue messaging.MessageQueue , nodeIDs []string ) (KeyGenSession , error ) {
128- selfPartyID , allPartyIDs := p .generatePartyIDs (PurposeKeygen , nodeIDs , version )
106+ func (p * Node ) createECDSAKeyGenSession (walletID string , threshold int , version int , resultQueue messaging.MessageQueue ) (KeyGenSession , error ) {
107+ readyPeerIDs := p .peerRegistry .GetReadyPeersIncludeSelf ()
108+ selfPartyID , allPartyIDs := p .generatePartyIDs (PurposeKeygen , readyPeerIDs , version )
129109 session := newECDSAKeygenSession (
130110 walletID ,
131111 p .pubSub ,
132112 p .direct ,
133- nodeIDs ,
113+ readyPeerIDs ,
134114 selfPartyID ,
135115 allPartyIDs ,
136116 threshold ,
@@ -143,13 +123,14 @@ func (p *Node) createECDSAKeyGenSession(walletID string, threshold int, version
143123 return session , nil
144124}
145125
146- func (p * Node ) createEDDSAKeyGenSession (walletID string , threshold int , version int , resultQueue messaging.MessageQueue , nodeIDs []string ) (KeyGenSession , error ) {
147- selfPartyID , allPartyIDs := p .generatePartyIDs (PurposeKeygen , nodeIDs , version )
126+ func (p * Node ) createEDDSAKeyGenSession (walletID string , threshold int , version int , resultQueue messaging.MessageQueue ) (KeyGenSession , error ) {
127+ readyPeerIDs := p .peerRegistry .GetReadyPeersIncludeSelf ()
128+ selfPartyID , allPartyIDs := p .generatePartyIDs (PurposeKeygen , readyPeerIDs , version )
148129 session := newEDDSAKeygenSession (
149130 walletID ,
150131 p .pubSub ,
151132 p .direct ,
152- nodeIDs ,
133+ readyPeerIDs ,
153134 selfPartyID ,
154135 allPartyIDs ,
155136 threshold ,
@@ -269,17 +250,6 @@ func (p *Node) getReadyPeersForSession(keyInfo *keyinfo.KeyInfo, readyPeers []st
269250 return readyParticipantIDs
270251}
271252
272- func (p * Node ) filterReadyPeers (selectedNodeIDs []string , readyPeers []string ) []string {
273- // Filter selected node IDs to only include ready peers
274- filtered := make ([]string , 0 , len (selectedNodeIDs ))
275- for _ , nodeID := range selectedNodeIDs {
276- if slices .Contains (readyPeers , nodeID ) {
277- filtered = append (filtered , nodeID )
278- }
279- }
280- return filtered
281- }
282-
283253func (p * Node ) ensureNodeIsParticipant (keyInfo * keyinfo.KeyInfo ) error {
284254 if ! slices .Contains (keyInfo .ParticipantPeerIDs , p .nodeID ) {
285255 return ErrNotInParticipantList
0 commit comments