Allow setting ens name

This commit is contained in:
Andrea Maria Piana 2021-10-29 16:18:21 +01:00
parent ca6246d5f2
commit 54b3689814
2 changed files with 13 additions and 2 deletions

View File

@ -20,6 +20,8 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
pubKey := request.ID.String() pubKey := request.ID.String()
ensName := request.ENSName
contact, ok := m.allContacts.Load(pubKey) contact, ok := m.allContacts.Load(pubKey)
if !ok { if !ok {
var err error var err error
@ -29,6 +31,14 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
} }
} }
if ensName != "" {
clock := m.getTimesource().GetCurrentTime()
err := m.ensVerifier.ENSVerified(pubKey, ensName, clock)
if err != nil {
return nil, err
}
}
if err := m.addENSNameToContact(contact); err != nil { if err := m.addENSNameToContact(contact); err != nil {
return nil, err return nil, err
} }
@ -87,12 +97,12 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
} }
m.scheduleSyncFilter(filter) m.scheduleSyncFilter(filter)
// Finally we send a contact update so they are notified we added them ensName, err = m.settings.ENSName()
ensName, err := m.settings.ENSName()
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Finally we send a contact update so they are notified we added them
response, err := m.sendContactUpdate(context.Background(), pubKey, ensName, "") response, err := m.sendContactUpdate(context.Background(), pubKey, ensName, "")
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -11,6 +11,7 @@ var ErrAddContactInvalidID = errors.New("add-contact: invalid id")
type AddContact struct { type AddContact struct {
ID types.HexBytes `json:"id"` ID types.HexBytes `json:"id"`
Nickname string `json:"nickname"` Nickname string `json:"nickname"`
ENSName string `json:"ensName"`
} }
func (a *AddContact) Validate() error { func (a *AddContact) Validate() error {