diff --git a/ios/Features/Contacts/Package.swift b/ios/Features/Contacts/Package.swift index 41b779b79e..dec220b682 100644 --- a/ios/Features/Contacts/Package.swift +++ b/ios/Features/Contacts/Package.swift @@ -41,7 +41,6 @@ let package = Package( "GemstonePrimitives", "QRScanner", .product(name: "ContactService", package: "FeatureServices"), - .product(name: "NameService", package: "ChainServices"), ], path: "Sources", ), @@ -54,7 +53,6 @@ let package = Package( .product(name: "PrimitivesTestKit", package: "Primitives"), .product(name: "StoreTestKit", package: "Store"), .product(name: "ContactService", package: "FeatureServices"), - .product(name: "NameServiceTestKit", package: "ChainServices"), ], ), ], diff --git a/ios/Features/Contacts/Tests/ContactsTests/ManageContactAddressViewModelTests.swift b/ios/Features/Contacts/Tests/ContactsTests/ManageContactAddressViewModelTests.swift index 02252b57a0..5f5215d67d 100644 --- a/ios/Features/Contacts/Tests/ContactsTests/ManageContactAddressViewModelTests.swift +++ b/ios/Features/Contacts/Tests/ContactsTests/ManageContactAddressViewModelTests.swift @@ -2,7 +2,6 @@ import Components @testable import Contacts -import NameServiceTestKit import Primitives import PrimitivesTestKit import Testing diff --git a/ios/Features/Contacts/Tests/ContactsTests/ManageContactViewModelTests.swift b/ios/Features/Contacts/Tests/ContactsTests/ManageContactViewModelTests.swift index 4031a36429..b012fe93f7 100644 --- a/ios/Features/Contacts/Tests/ContactsTests/ManageContactViewModelTests.swift +++ b/ios/Features/Contacts/Tests/ContactsTests/ManageContactViewModelTests.swift @@ -3,7 +3,6 @@ import Components @testable import Contacts import ContactService -import NameServiceTestKit import Primitives import PrimitivesTestKit import StoreTestKit diff --git a/ios/Features/Onboarding/Package.swift b/ios/Features/Onboarding/Package.swift index a8225ed493..fc8976d7b5 100644 --- a/ios/Features/Onboarding/Package.swift +++ b/ios/Features/Onboarding/Package.swift @@ -40,7 +40,6 @@ let package = Package( "Style", "Localization", "PrimitivesComponents", - .product(name: "NameService", package: "ChainServices"), "QRScanner", "Keystore", .product(name: "WalletService", package: "FeatureServices"), @@ -61,7 +60,6 @@ let package = Package( .product(name: "WalletSessionService", package: "FeatureServices"), .product(name: "WalletSessionServiceTestKit", package: "FeatureServices"), .product(name: "KeystoreTestKit", package: "Keystore"), - .product(name: "NameServiceTestKit", package: "ChainServices"), .product(name: "StoreTestKit", package: "Store"), ], path: "Tests", diff --git a/ios/Features/Onboarding/Sources/ViewModels/ImportWalletSceneViewModel.swift b/ios/Features/Onboarding/Sources/ViewModels/ImportWalletSceneViewModel.swift index 118c6e8656..8a454ab9ee 100644 --- a/ios/Features/Onboarding/Sources/ViewModels/ImportWalletSceneViewModel.swift +++ b/ios/Features/Onboarding/Sources/ViewModels/ImportWalletSceneViewModel.swift @@ -4,7 +4,6 @@ import GemstonePrimitives import enum Keystore.KeystoreImportType import enum Keystore.Mnemonic import Localization -import NameService import Primitives import PrimitivesComponents import Style diff --git a/ios/Features/Onboarding/Tests/ImportWalletSceneViewModelTests.swift b/ios/Features/Onboarding/Tests/ImportWalletSceneViewModelTests.swift index 64ef93515c..103f2e10cb 100644 --- a/ios/Features/Onboarding/Tests/ImportWalletSceneViewModelTests.swift +++ b/ios/Features/Onboarding/Tests/ImportWalletSceneViewModelTests.swift @@ -2,7 +2,6 @@ import Keystore import KeystoreTestKit -import NameServiceTestKit @testable import Onboarding import Primitives import PrimitivesTestKit diff --git a/ios/Features/Transfer/Package.swift b/ios/Features/Transfer/Package.swift index 0ea7735f00..99d7a70f08 100644 --- a/ios/Features/Transfer/Package.swift +++ b/ios/Features/Transfer/Package.swift @@ -80,7 +80,6 @@ let package = Package( .product(name: "EarnService", package: "FeatureServices"), .product(name: "PerpetualService", package: "FeatureServices"), .product(name: "ExplorerService", package: "ChainServices"), - .product(name: "NameService", package: "ChainServices"), .product(name: "AddressNameService", package: "FeatureServices"), .product(name: "ActivityService", package: "FeatureServices"), .product(name: "FiatService", package: "FeatureServices"), @@ -109,7 +108,6 @@ let package = Package( .product(name: "KeystoreTestKit", package: "Keystore"), .product(name: "WalletSessionService", package: "FeatureServices"), .product(name: "WalletSessionServiceTestKit", package: "FeatureServices"), - .product(name: "NameServiceTestKit", package: "ChainServices"), .product(name: "NodeServiceTestKit", package: "ChainServices"), .product(name: "PriceServiceTestKit", package: "FeatureServices"), .product(name: "AssetsServiceTestKit", package: "FeatureServices"), diff --git a/ios/Features/Transfer/Sources/ViewModels/RecipientSceneViewModel.swift b/ios/Features/Transfer/Sources/ViewModels/RecipientSceneViewModel.swift index ed737b5e19..7533c6e6e0 100644 --- a/ios/Features/Transfer/Sources/ViewModels/RecipientSceneViewModel.swift +++ b/ios/Features/Transfer/Sources/ViewModels/RecipientSceneViewModel.swift @@ -6,7 +6,6 @@ import Foundation import GemstonePrimitives import Keystore import Localization -import NameService import NodeService import Primitives import PrimitivesComponents diff --git a/ios/Features/Transfer/Tests/RecipientSceneViewModelTests.swift b/ios/Features/Transfer/Tests/RecipientSceneViewModelTests.swift index b068cac662..4b1098eb12 100644 --- a/ios/Features/Transfer/Tests/RecipientSceneViewModelTests.swift +++ b/ios/Features/Transfer/Tests/RecipientSceneViewModelTests.swift @@ -3,7 +3,6 @@ import BigInt import Components import Formatters -import NameServiceTestKit import Primitives import PrimitivesTestKit import Testing diff --git a/ios/Gem/Services/AppResolver+Services.swift b/ios/Gem/Services/AppResolver+Services.swift index b0c6cb6b7d..6ebbb8baa0 100644 --- a/ios/Gem/Services/AppResolver+Services.swift +++ b/ios/Gem/Services/AppResolver+Services.swift @@ -17,16 +17,16 @@ import EventPresenterService import ExplorerService import FiatService import Foundation -import NameService import NFTService import NodeService import NotificationService import PerpetualService import PriceAlertService import PriceService +import Primitives import RewardsService -import ServiceStatusService import ScanService +import ServiceStatusService import StakeService import StreamService import SupportChatService @@ -79,7 +79,7 @@ extension AppResolver { let walletConnectorManager: WalletConnectorManager let perpetualService: PerpetualService let hyperliquidObserverService: any PerpetualObservable - let nameService: NameService + let nameService: any NameServiceable let addressNameService: AddressNameService let activityService: ActivityService let eventPresenterService: EventPresenterService @@ -134,7 +134,7 @@ extension AppResolver { walletConnectorManager: WalletConnectorManager, perpetualService: PerpetualService, hyperliquidObserverService: any PerpetualObservable, - nameService: NameService, + nameService: any NameServiceable, addressNameService: AddressNameService, activityService: ActivityService, eventPresenterService: EventPresenterService, diff --git a/ios/Gem/Services/ServicesFactory.swift b/ios/Gem/Services/ServicesFactory.swift index 3a8865762b..dd9d0a0106 100644 --- a/ios/Gem/Services/ServicesFactory.swift +++ b/ios/Gem/Services/ServicesFactory.swift @@ -24,7 +24,6 @@ import GemAPI import GemAPIDevice import GemstonePrimitives import Keystore -import NameService import NativeProviderService import NFTService import NodeService @@ -288,7 +287,6 @@ struct ServicesFactory { perpetualService: perpetualService, ) - let nameService = NameService(provider: apiService) let scanService = ScanService(apiService: apiService) let addressNameService = AddressNameService(addressStore: storeManager.addressStore, apiService: apiService) let activityService = ActivityService(store: storeManager.recentActivityStore) @@ -335,7 +333,7 @@ struct ServicesFactory { stakeService: stakeService, earnService: earnService, amountService: AmountService(earnDataProvider: earnService), - nameService: nameService, + nameService: apiService, balanceService: balanceService, priceService: priceService, transactionStateScheduler: transactionStateScheduler, @@ -390,7 +388,7 @@ struct ServicesFactory { walletConnectorManager: walletConnectorManager, perpetualService: perpetualService, hyperliquidObserverService: hyperliquidObserverService, - nameService: nameService, + nameService: apiService, addressNameService: addressNameService, activityService: activityService, eventPresenterService: eventPresenterService, diff --git a/ios/Gem/Services/ViewModelFactory.swift b/ios/Gem/Services/ViewModelFactory.swift index 919e8139c4..ab761d522c 100644 --- a/ios/Gem/Services/ViewModelFactory.swift +++ b/ios/Gem/Services/ViewModelFactory.swift @@ -12,7 +12,6 @@ import FiatConnect import FiatService import Foundation import Keystore -import NameService import PerpetualService import Preferences import PriceAlertService @@ -44,7 +43,7 @@ public struct ViewModelFactory: Sendable { let stakeService: StakeService let earnService: EarnService let amountService: AmountService - let nameService: NameService + let nameService: any NameServiceable let balanceService: BalanceService let priceService: PriceService let transactionStateScheduler: TransactionStateScheduler @@ -69,7 +68,7 @@ public struct ViewModelFactory: Sendable { stakeService: StakeService, earnService: EarnService, amountService: AmountService, - nameService: NameService, + nameService: any NameServiceable, balanceService: BalanceService, priceService: PriceService, transactionStateScheduler: TransactionStateScheduler, diff --git a/ios/Gem/Types/Environment.swift b/ios/Gem/Types/Environment.swift index 7ae2a6117b..d414751453 100644 --- a/ios/Gem/Types/Environment.swift +++ b/ios/Gem/Types/Environment.swift @@ -18,16 +18,16 @@ import ExplorerService import Foundation import GRDB import Keystore -import NameService import NFTService import NodeService import NotificationService import PerpetualService import PriceAlertService import PriceService +import Primitives import RewardsService -import ServiceStatusService import ScanService +import ServiceStatusService import StakeService import Store import StreamService @@ -71,7 +71,7 @@ extension EnvironmentValues { @Entry var perpetualService: PerpetualService = AppResolver.main.services.perpetualService @Entry var hyperliquidObserverService: any PerpetualObservable = AppResolver.main.services.hyperliquidObserverService @Entry var transactionStateScheduler: TransactionStateScheduler = AppResolver.main.services.transactionStateScheduler - @Entry var nameService: NameService = AppResolver.main.services.nameService + @Entry var nameService: any NameServiceable = AppResolver.main.services.nameService @Entry var addressNameService: AddressNameService = AppResolver.main.services.addressNameService @Entry var activityService: ActivityService = AppResolver.main.services.activityService @Entry var eventPresenterService: EventPresenterService = AppResolver.main.services.eventPresenterService diff --git a/ios/Gem/ViewModels/RootSceneViewModel.swift b/ios/Gem/ViewModels/RootSceneViewModel.swift index 213cdb75b6..ab8d5f987d 100644 --- a/ios/Gem/ViewModels/RootSceneViewModel.swift +++ b/ios/Gem/ViewModels/RootSceneViewModel.swift @@ -10,7 +10,6 @@ import Foundation import GemstonePrimitives import Localization import LockManager -import NameService import Onboarding import Preferences import Primitives @@ -39,7 +38,7 @@ final class RootSceneViewModel { let walletSetupService: WalletSetupService let walletService: WalletService let walletSessionService: any WalletSessionManageable - let nameService: NameService + let nameService: any NameServiceable let avatarService: AvatarService let walletConnectorPresenter: WalletConnectorPresenter let lockManager: any LockWindowManageable @@ -89,7 +88,7 @@ final class RootSceneViewModel { walletService: WalletService, walletSessionService: any WalletSessionManageable, walletSetupService: WalletSetupService, - nameService: NameService, + nameService: any NameServiceable, releaseAlertService: ReleaseAlertService, rateService: RateService, eventPresenterService: EventPresenterService, diff --git a/ios/Packages/ChainServices/NameService/NameService.swift b/ios/Packages/ChainServices/NameService/NameService.swift deleted file mode 100644 index d157d3a50a..0000000000 --- a/ios/Packages/ChainServices/NameService/NameService.swift +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c). Gem Wallet. All rights reserved. - -import Foundation -import GemAPI -import Primitives - -public final class NameService: NameServiceable, Sendable { - private let provider: any GemAPINameService - - public init(provider: any GemAPINameService) { - self.provider = provider - } - - public func getName(name: String, chain: String) async throws -> NameRecord? { - try await provider.getName(name: name, chain: chain) - } -} diff --git a/ios/Packages/ChainServices/Package.swift b/ios/Packages/ChainServices/Package.swift index 66a228f535..86cf4db4f9 100644 --- a/ios/Packages/ChainServices/Package.swift +++ b/ios/Packages/ChainServices/Package.swift @@ -9,8 +9,6 @@ let package = Package( .macOS(.v15), ], products: [ - .library(name: "NameService", targets: ["NameService"]), - .library(name: "NameServiceTestKit", targets: ["NameServiceTestKit"]), .library(name: "StakeService", targets: ["StakeService"]), .library(name: "StakeServiceTestKit", targets: ["StakeServiceTestKit"]), .library(name: "NodeService", targets: ["NodeService"]), @@ -35,23 +33,6 @@ let package = Package( .package(name: "reown-swift", path: "../../Submodules/reown-swift"), ], targets: [ - .target( - name: "NameService", - dependencies: [ - "Primitives", - "GemAPI", - ], - path: "NameService", - exclude: ["TestKit"], - ), - .target( - name: "NameServiceTestKit", - dependencies: [ - "NameService", - .product(name: "PrimitivesTestKit", package: "Primitives"), - ], - path: "NameService/TestKit", - ), .target( name: "StakeService", dependencies: [ diff --git a/ios/Packages/GemAPI/Sources/GemAPIService.swift b/ios/Packages/GemAPI/Sources/GemAPIService.swift index 9056ed8642..b2a542eedf 100644 --- a/ios/Packages/GemAPI/Sources/GemAPIService.swift +++ b/ios/Packages/GemAPI/Sources/GemAPIService.swift @@ -37,10 +37,6 @@ public extension GemAPIAssetsService { } } -public protocol GemAPINameService: Sendable { - func getName(name: String, chain: String) async throws -> NameRecord? -} - public protocol GemAPIAddressNamesService: Sendable { func getAddressNames(requests: [ChainAddress]) async throws -> [AddressName] } @@ -178,7 +174,7 @@ extension GemAPIService: GemAPIConfigService { } } -extension GemAPIService: GemAPINameService { +extension GemAPIService: NameServiceable { public func getName(name: String, chain: String) async throws -> NameRecord? { try await requestDevice(.getNameRecord(name: name, chain: chain)) .mapResponse(as: NameRecord?.self) diff --git a/ios/Packages/ChainServices/NameService/TestKit/NameService+TestKit.swift b/ios/Packages/Primitives/TestKit/NameServiceable+PrimitivesTestKit.swift similarity index 50% rename from ios/Packages/ChainServices/NameService/TestKit/NameService+TestKit.swift rename to ios/Packages/Primitives/TestKit/NameServiceable+PrimitivesTestKit.swift index b8a4f7d5e6..b2f7dbf494 100644 --- a/ios/Packages/ChainServices/NameService/TestKit/NameService+TestKit.swift +++ b/ios/Packages/Primitives/TestKit/NameServiceable+PrimitivesTestKit.swift @@ -1,25 +1,18 @@ // Copyright (c). Gem Wallet. All rights reserved. import Foundation -@testable import NameService -import Primitives -import PrimitivesTestKit +@testable import Primitives public extension NameServiceable where Self == MockNameService { - static func mock( - canResolve: Bool = true, - nameRecord: NameRecord? = nil, - ) -> MockNameService { - MockNameService(canResolve: canResolve, nameRecord: nameRecord) + static func mock(nameRecord: NameRecord? = nil) -> MockNameService { + MockNameService(nameRecord: nameRecord) } } public struct MockNameService: NameServiceable { - let canResolve: Bool let nameRecord: NameRecord? - public init(canResolve: Bool = true, nameRecord: NameRecord? = nil) { - self.canResolve = canResolve + public init(nameRecord: NameRecord? = nil) { self.nameRecord = nameRecord }