From e0e0d3c696e003b38ad741af825a06e400defa0f Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Tue, 14 Jan 2025 10:51:36 +0100 Subject: [PATCH] Also search for Pontus-X names on Sapphire --- src/app/data/pontusx-account-names.ts | 2 ++ src/app/hooks/useAccountMetadata.ts | 15 ++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/app/data/pontusx-account-names.ts b/src/app/data/pontusx-account-names.ts index d3e944786..b685919b3 100644 --- a/src/app/data/pontusx-account-names.ts +++ b/src/app/data/pontusx-account-names.ts @@ -19,6 +19,8 @@ type PontusXAccountsMetadata = { list: AccountMetadata[] } +export const pontusXLayers: Layer[] = [Layer.pontusxtest, Layer.pontusxdev, Layer.sapphire] + const getPontusXAccountsMetadata = async (): Promise => { const response = await axios.get(DATA_SOURCE_URL) if (response.status !== 200) throw new Error("Couldn't load names") diff --git a/src/app/hooks/useAccountMetadata.ts b/src/app/hooks/useAccountMetadata.ts index 322d844ce..a09369df1 100644 --- a/src/app/hooks/useAccountMetadata.ts +++ b/src/app/hooks/useAccountMetadata.ts @@ -1,6 +1,10 @@ import { SearchScope } from '../../types/searchScope' import { Layer } from '../../oasis-nexus/api' -import { usePontusXAccountMetadata, useSearchForPontusXAccountsByName } from '../data/pontusx-account-names' +import { + pontusXLayers, + usePontusXAccountMetadata, + useSearchForPontusXAccountsByName, +} from '../data/pontusx-account-names' import { AccountMetadataInfo, AccountNameSearchResults } from '../data/named-accounts' import { useOasisAccountMetadata, useSearchForOasisAccountsByName } from '../data/oasis-account-names' import { getOasisAddress } from '../utils/helpers' @@ -15,7 +19,7 @@ import { isLocalnet } from '../utils/route-utils' * Doesn't throw if it fails. */ export const useAccountMetadata = (scope: SearchScope, address: string): AccountMetadataInfo => { - const isPontusX = scope.layer === Layer.pontusxtest || scope.layer === Layer.pontusxdev + const isPontusX = pontusXLayers.includes(scope.layer) const pontusXData = usePontusXAccountMetadata(address, { enabled: isPontusX, useErrorBoundary: false, @@ -24,7 +28,7 @@ export const useAccountMetadata = (scope: SearchScope, address: string): Account enabled: !isPontusX && !isLocalnet(scope.network), useErrorBoundary: false, }) - return isPontusX ? pontusXData : oasisData + return isPontusX ? (pontusXData?.metadata ? pontusXData : oasisData) : oasisData } /** Doesn't throw if it fails. */ @@ -32,13 +36,14 @@ export const useSearchForAccountsByName = ( scope: SearchScope, nameFragment = '', ): AccountNameSearchResults => { - const isPontusX = scope.layer === Layer.pontusxtest || scope.layer === Layer.pontusxdev + const isPontusX = pontusXLayers.includes(scope.layer) const isValidPontusXSearch = isPontusX && !!nameFragment const pontusXResults = useSearchForPontusXAccountsByName(scope.network, nameFragment, { enabled: isValidPontusXSearch, useErrorBoundary: false, }) - const isValidOasisSearch = !isPontusX && !!nameFragment + const isValidOasisSearch = + !(scope.layer === Layer.pontusxdev || scope.layer === Layer.pontusxtest) && !!nameFragment const oasisResults = useSearchForOasisAccountsByName(scope.network, scope.layer, nameFragment, { enabled: isValidOasisSearch, useErrorBoundary: false,