message: [GUI][Bug] Fix editing of CS address labels
  Fixes a bug that prevented the editing of Cold Staking address labels in
  the address book due to the passing of an empty purpose, which
  `CWallet::ParseIntoAddress()` needs in order to determine if an address
  is a cold staking type address.
diff: @@ -2890,10 +2890,10 @@ bool CWallet::SetAddressBook(const CTxDestination& address, const std::string& s
  mapAddressBook[address].purpose = strPurpose;
  }
  NotifyAddressBookChanged(this, address, strName, ::IsMine(*this, address) != ISMINE_NO,
  - strPurpose, (fUpdated ? CT_UPDATED : CT_NEW));
  + mapAddressBook.at(address).purpose, (fUpdated ? CT_UPDATED : CT_NEW));
  if (!fFileBacked)
  return false;
  - std::string addressStr = ParseIntoAddress(address, strPurpose).ToString();
  + std::string addressStr = ParseIntoAddress(address, mapAddressBook.at(address).purpose).ToString();
  if (!strPurpose.empty() && !CWalletDB(strWalletFile).WritePurpose(addressStr, strPurpose))
  return false;
  return CWalletDB(strWalletFile).WriteName(addressStr, strName);
  