github.com/status-im/status-go@v1.1.0/server/pairing/utils.go (about)

     1  package pairing
     2  
     3  import (
     4  	"github.com/status-im/status-go/protocol"
     5  	"github.com/status-im/status-go/protocol/encryption/multidevice"
     6  )
     7  
     8  func GetMessengerInstallationsMap(m *protocol.Messenger) map[string]struct{} {
     9  	ids := map[string]struct{}{}
    10  	for _, installation := range m.Installations() {
    11  		ids[installation.ID] = struct{}{}
    12  	}
    13  	return ids
    14  }
    15  
    16  func FindNewInstallations(m *protocol.Messenger, prevInstallationIds map[string]struct{}) *multidevice.Installation {
    17  	for _, installation := range m.Installations() {
    18  		if _, ok := prevInstallationIds[installation.ID]; !ok {
    19  			return installation
    20  		}
    21  	}
    22  	return nil
    23  }