From 598d58f0d6625a4f7feb726fb32ae3c972cfafd6 Mon Sep 17 00:00:00 2001 From: Sale Djenic Date: Mon, 12 Feb 2024 16:51:56 +0100 Subject: [PATCH] fix: a proper clock set when dispatching saved addresses --- protocol/messenger_saved_address.go | 4 ++-- protocol/messenger_sync_saved_addresses_test.go | 1 - services/wallet/saved_addresses.go | 2 +- services/wallet/saved_addresses_test.go | 7 ++----- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/protocol/messenger_saved_address.go b/protocol/messenger_saved_address.go index 9fa9e60f0..fec211325 100644 --- a/protocol/messenger_saved_address.go +++ b/protocol/messenger_saved_address.go @@ -72,7 +72,7 @@ func (m *Messenger) syncNewSavedAddress(ctx context.Context, savedAddress *walle Address: savedAddress.Address.Bytes(), Name: savedAddress.Name, Removed: savedAddress.Removed, - UpdateClock: savedAddress.UpdateClock, + UpdateClock: updateClock, ChainShortNames: savedAddress.ChainShortNames, Ens: savedAddress.ENSName, IsTest: savedAddress.IsTest, @@ -110,7 +110,7 @@ func (m *Messenger) HandleSyncSavedAddress(state *ReceivedMessageState, syncMess if err != nil { return err } - state.Response.AddSavedAddress(&wallet.SavedAddress{Address: address, ENSName: syncMessage.Ens, IsTest: syncMessage.IsTest}) + state.Response.AddSavedAddress(&wallet.SavedAddress{Address: address, ENSName: syncMessage.Ens, IsTest: syncMessage.IsTest, Removed: true}) } else { sa := wallet.SavedAddress{ Address: address, diff --git a/protocol/messenger_sync_saved_addresses_test.go b/protocol/messenger_sync_saved_addresses_test.go index c2c15d093..aa04e0731 100644 --- a/protocol/messenger_sync_saved_addresses_test.go +++ b/protocol/messenger_sync_saved_addresses_test.go @@ -280,7 +280,6 @@ func (s *MessengerSyncSavedAddressesSuite) testSyncDeletesOfSavedAddressesWithTe savedAddresses, err = s.other.savedAddressesManager.GetSavedAddresses() s.Require().NoError(err) - s.Require().Equal(1, len(savedAddresses)) s.Require().True(haveSameElements([]wallet.SavedAddress{sa2}, savedAddresses, savedAddressDataIsEqual)) // Delete saved addresses with test mode = false and sync with the other device diff --git a/services/wallet/saved_addresses.go b/services/wallet/saved_addresses.go index f4b3f5997..ea395d014 100644 --- a/services/wallet/saved_addresses.go +++ b/services/wallet/saved_addresses.go @@ -10,7 +10,6 @@ import ( ) type savedAddressMeta struct { - Removed bool UpdateClock uint64 // wall clock used to deconflict concurrent updates } @@ -24,6 +23,7 @@ type SavedAddress struct { ColorID multiAccCommon.CustomizationColor `json:"colorId"` IsTest bool `json:"isTest"` CreatedAt int64 `json:"createdAt"` + Removed bool `json:"removed"` savedAddressMeta } diff --git a/services/wallet/saved_addresses_test.go b/services/wallet/saved_addresses_test.go index 2ccfda287..9f24d2e83 100644 --- a/services/wallet/saved_addresses_test.go +++ b/services/wallet/saved_addresses_test.go @@ -95,7 +95,6 @@ func TestSavedAddressesMetadata(t *testing.T) { Address: common.Address{1}, Name: "Raw", savedAddressMeta: savedAddressMeta{ - Removed: false, UpdateClock: 234, }, ChainShortNames: "eth:arb:", @@ -212,8 +211,8 @@ func TestSavedAddressesCleanSoftDeletes(t *testing.T) { Address: common.Address{byte(i)}, Name: "Test" + strconv.Itoa(i), ColorID: multiAccCommon.CustomizationColorGreen, + Removed: true, savedAddressMeta: savedAddressMeta{ - Removed: true, UpdateClock: uint64(firstTimestamp + i), }, } @@ -245,9 +244,7 @@ func TestSavedAddressesGet(t *testing.T) { ENSName: "test.ens.eth", ColorID: multiAccCommon.CustomizationColorGreen, IsTest: false, - savedAddressMeta: savedAddressMeta{ - Removed: true, - }, + Removed: true, } err := manager.upsertSavedAddress(sa, nil)