From 0e4fd0ec758ba48716c9bb43e4ba7698851acaa5 Mon Sep 17 00:00:00 2001 From: Elizaveta Semenova Date: Fri, 19 Jan 2024 11:23:19 +0400 Subject: [PATCH] [ETH-729] Fix absence of domain in case of username creation from onboarding --- p2p_wallet/Common/Extensions/String+Extensions.swift | 2 +- .../Common/Services/CreateName/CreateNameService.swift | 9 +++++---- .../CreateUsername/CreateUsernameViewModel.swift | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/p2p_wallet/Common/Extensions/String+Extensions.swift b/p2p_wallet/Common/Extensions/String+Extensions.swift index cde624faa1..355682d20c 100644 --- a/p2p_wallet/Common/Extensions/String+Extensions.swift +++ b/p2p_wallet/Common/Extensions/String+Extensions.swift @@ -49,7 +49,7 @@ extension String { } static var nameServiceDomain: String { - RemoteConfig.remoteConfig().usernameDomain ?? "key" + RemoteConfig.remoteConfig().usernameDomain ?? ".key" } static func secretConfig(_ key: String) -> String? { diff --git a/p2p_wallet/Common/Services/CreateName/CreateNameService.swift b/p2p_wallet/Common/Services/CreateName/CreateNameService.swift index 11db34886f..34dd12c8c6 100644 --- a/p2p_wallet/Common/Services/CreateName/CreateNameService.swift +++ b/p2p_wallet/Common/Services/CreateName/CreateNameService.swift @@ -6,7 +6,7 @@ import SolanaSwift protocol CreateNameService { var createNameResult: AnyPublisher { get } - func create(username: String) + func create(username: String, domain: String) } final class CreateNameServiceImpl: CreateNameService { @@ -22,7 +22,7 @@ final class CreateNameServiceImpl: CreateNameService { private let createNameResultSubject = PassthroughSubject() - func create(username: String) { + func create(username: String, domain: String) { Task { do { guard let account = storage.account else { @@ -41,8 +41,9 @@ final class CreateNameServiceImpl: CreateNameService { configs: RequestConfiguration(encoding: "base64")! ) - nameStorage.save(name: username) - nameCache.save(username, for: account.publicKey.base58EncodedString) + let name = "\(username)\(domain)" + nameStorage.save(name: name) + nameCache.save(name, for: account.publicKey.base58EncodedString) createNameResultSubject.send(true) } catch { createNameResultSubject.send(false) diff --git a/p2p_wallet/Scenes/Username/CreateUsername/CreateUsernameViewModel.swift b/p2p_wallet/Scenes/Username/CreateUsername/CreateUsernameViewModel.swift index fa011f745a..235c9c108d 100644 --- a/p2p_wallet/Scenes/Username/CreateUsername/CreateUsernameViewModel.swift +++ b/p2p_wallet/Scenes/Username/CreateUsername/CreateUsernameViewModel.swift @@ -76,7 +76,7 @@ private extension CreateUsernameViewModel { createUsername.sink { [weak self] in guard let self = self else { return } self.isLoading = true - self.createNameService.create(username: self.username) + self.createNameService.create(username: self.username, domain: self.domain) self.analyticsManager.log(event: .usernameCreationButton(result: true)) self.close.send(()) }.store(in: &subscriptions)