diff --git a/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.test.tsx b/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.test.tsx index 50e77097146..90700c27a10 100644 --- a/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.test.tsx +++ b/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.test.tsx @@ -608,18 +608,8 @@ describe('OndoCampaignRwaSelectorView', () => { }); }); - describe('token name sanitization', () => { - it('strips "Ondo Tokenized " prefix from token names in list rows', () => { - const token = { ...buildToken('AAPL'), name: 'Ondo Tokenized Apple' }; - mockUseRwaTokens.mockReturnValue({ data: [token], isLoading: false }); - const { getByText, queryByText } = render( - , - ); - expect(getByText('Apple')).toBeDefined(); - expect(queryByText('Ondo Tokenized Apple')).toBeNull(); - }); - - it('strips "(Ondo Tokenized)" suffix from token names in list rows', () => { + describe('Ondo token name display', () => { + it('preserves backend-provided suffix names in list rows', () => { const token = { ...buildToken('AAPL'), name: 'Apple (Ondo Tokenized)', @@ -628,25 +618,21 @@ describe('OndoCampaignRwaSelectorView', () => { const { getByText, queryByText } = render( , ); - expect(getByText('Apple')).toBeDefined(); - expect(queryByText('Apple (Ondo Tokenized)')).toBeNull(); - }); - - it('leaves unrelated token names unchanged', () => { - const token = { ...buildToken('USDY'), name: 'Ondo USD Yield' }; - mockUseRwaTokens.mockReturnValue({ data: [token], isLoading: false }); - const { getByText } = render(); - expect(getByText('Ondo USD Yield')).toBeDefined(); + expect(getByText('Apple (Ondo Tokenized)')).toBeDefined(); + expect(queryByText('Apple')).toBeNull(); }); - it('passes original unsanitized name to goToSwaps when token has Ondo prefix', () => { - const token = { ...buildToken('AAPL'), name: 'Ondo Tokenized Apple' }; + it('passes the backend-provided name to goToSwaps', () => { + const token = { + ...buildToken('AAPL'), + name: 'Apple (Ondo Tokenized)', + }; mockUseRwaTokens.mockReturnValue({ data: [token], isLoading: false }); const { getByTestId } = render(); fireEvent.press(getByTestId('token-row-AAPL')); expect(mockGoToSwaps).toHaveBeenCalledWith( undefined, - expect.objectContaining({ name: 'Ondo Tokenized Apple' }), + expect.objectContaining({ name: 'Apple (Ondo Tokenized)' }), ); }); }); diff --git a/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.tsx b/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.tsx index 7e35da31851..97ee6326fb7 100644 --- a/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.tsx +++ b/app/components/UI/Rewards/Views/OndoCampaignRwaSelectorView.tsx @@ -36,11 +36,7 @@ import ErrorBoundary from '../../../Views/ErrorBoundary'; import { useRwaTokens } from '../../Trending/hooks/useRwaTokens/useRwaTokens'; import TrendingTokenRowItem from '../../Trending/components/TrendingTokenRowItem/TrendingTokenRowItem'; import { getTrendingTokenImageUrl } from '../../Trending/utils/getTrendingTokenImageUrl'; -import { - parseCaip19, - caipChainIdToHex, - sanitizeOndoTokenName, -} from '../utils/formatUtils'; +import { parseCaip19, caipChainIdToHex } from '../utils/formatUtils'; import { RWA_NETWORKS_LIST } from '../../Trending/utils/trendingNetworksList'; import { useSwapBridgeNavigation, @@ -262,30 +258,27 @@ const OndoCampaignRwaSelectorView: React.FC = () => { sourceToken: srcBridgeToken, }); - // Deduplicate by assetId and sanitize display names. + // Deduplicate by assetId while preserving backend-provided display names. // Use CAIP-19 assetId (not symbol) for deduplication — symbol comparison // is fragile when casing differs between chains. const tokens = useMemo((): TrendingAsset[] => { const seen = new Set(); - return rwaTokens - .filter((token) => { - if (srcTokenAsset && token.assetId === srcTokenAsset) return false; - if (seen.has(token.assetId)) return false; - seen.add(token.assetId); - return true; - }) - .map((token) => ({ ...token, name: sanitizeOndoTokenName(token.name) })); + return rwaTokens.filter((token) => { + if (srcTokenAsset && token.assetId === srcTokenAsset) return false; + if (seen.has(token.assetId)) return false; + seen.add(token.assetId); + return true; + }); }, [rwaTokens, srcTokenAsset]); const handleAssetSelect = useCallback( (asset: TrendingAsset) => { const parsed = parseCaip19(asset.assetId); if (!parsed) return; - const rawToken = rwaTokens.find((t) => t.assetId === asset.assetId); const destToken: BridgeToken = { address: parsed.assetReference, symbol: asset.symbol, - name: rawToken?.name ?? asset.name, + name: asset.name, decimals: asset.decimals, chainId: `${parsed.namespace}:${parsed.chainId}` as CaipChainId, image: getTrendingTokenImageUrl(asset.assetId), @@ -318,7 +311,6 @@ const OndoCampaignRwaSelectorView: React.FC = () => { trackEvent, createEventBuilder, ondoUsdSrcToken, - rwaTokens, ], ); diff --git a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.test.tsx b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.test.tsx index ce235b5c58b..6db8aef4c69 100644 --- a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.test.tsx +++ b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.test.tsx @@ -142,7 +142,6 @@ jest.mock('../../../../../../locales/i18n', () => ({ 'Please try again', 'rewards.ondo_campaign_portfolio.retry': 'Retry', 'rewards.ondo_campaign_portfolio.updated_at': `Updated: ${params?.time ?? ''}`, - 'rewards.ondo_campaign_portfolio.position_units': `${params?.units ?? ''} units`, }; return translations[key] ?? key; }, @@ -217,10 +216,11 @@ jest.mock( ); const mockRefetch = jest.fn(); +const MOCK_POSITION_DISPLAY_NAME = 'Apple Inc. (Ondo Tokenized)'; const MOCK_POSITION: OndoGmPortfolioPositionDto = { tokenSymbol: 'AAPLon', - tokenName: 'Apple Inc.', + tokenName: MOCK_POSITION_DISPLAY_NAME, tokenAsset: 'eip155:1/erc20:0x14c3abf95cb9c93a8b82c1cdcb76d72cb87b2d4c', units: '45.2', bookPrice: '200.000000', @@ -369,7 +369,7 @@ describe('OndoPortfolio', () => { it('renders the token name', () => { const { getByText } = render(); - expect(getByText('Apple Inc.')).toBeDefined(); + expect(getByText(MOCK_POSITION_DISPLAY_NAME)).toBeDefined(); }); }); @@ -395,8 +395,8 @@ describe('OndoPortfolio', () => { it('pressing a position row does not throw', () => { const { getByText } = render(); - fireEvent.press(getByText('Apple Inc.')); - expect(getByText('Apple Inc.')).toBeDefined(); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); + expect(getByText(MOCK_POSITION_DISPLAY_NAME)).toBeDefined(); }); it('renders empty banner when portfolio has no positions', () => { @@ -480,7 +480,7 @@ describe('OndoPortfolio', () => { const props = buildPropsWithBalance(rawHexBalance); const { getByText } = render(); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); expect(props.onOpenAccountPicker).not.toHaveBeenCalled(); }, @@ -493,7 +493,9 @@ describe('OndoPortfolio', () => { // empty and the component navigates directly (length === 0 branch). // Picker not opened either way — we just confirm no throw. const { getByText } = render(); - expect(() => fireEvent.press(getByText('Apple Inc.'))).not.toThrow(); + expect(() => + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)), + ).not.toThrow(); }); }); @@ -503,9 +505,9 @@ describe('OndoPortfolio', () => { portfolio: MOCK_PORTFOLIO, }; - it('renders the units text', () => { + it('renders units with the uppercased ticker', () => { const { getByText } = render(); - expect(getByText('45.2 units')).toBeDefined(); + expect(getByText('45.2 AAPLON')).toBeDefined(); }); it('renders positive PnL percent in green', () => { @@ -572,7 +574,7 @@ describe('OndoPortfolio', () => { onOpenAccountPicker={onOpenAccountPicker} />, ); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); expect(onOpenAccountPicker).not.toHaveBeenCalled(); }); }); @@ -673,7 +675,7 @@ describe('OndoPortfolio', () => { />, ); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); expect(onOpenAccountPicker).toHaveBeenCalledTimes(1); const config = (onOpenAccountPicker as jest.Mock).mock.calls[0][0]; @@ -726,7 +728,7 @@ describe('OndoPortfolio', () => { />, ); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); expect(onOpenAccountPicker).not.toHaveBeenCalled(); }); @@ -788,7 +790,7 @@ describe('OndoPortfolio', () => { />, ); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); // Account must be found despite key case mismatch → picker opened expect(onOpenAccountPicker).toHaveBeenCalledTimes(1); @@ -850,7 +852,7 @@ describe('OndoPortfolio', () => { />, ); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); expect(onOpenAccountPicker).toHaveBeenCalledTimes(1); const config = (onOpenAccountPicker as jest.Mock).mock.calls[0][0]; @@ -908,7 +910,7 @@ describe('OndoPortfolio', () => { />, ); - fireEvent.press(getByText('Apple Inc.')); + fireEvent.press(getByText(MOCK_POSITION_DISPLAY_NAME)); // No subscribed account has balance → navigate directly, picker not opened expect(onOpenAccountPicker).not.toHaveBeenCalled(); diff --git a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.tsx b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.tsx index 277544cb77d..05e19a98df4 100644 --- a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.tsx +++ b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.tsx @@ -41,7 +41,6 @@ import { groupPortfolioPositionsByAsset, formatPnlPercent, isPnlNonNegative, - sanitizeOndoTokenName, } from './OndoPortfolio.utils'; import { selectAllTokenBalances } from '../../../../../selectors/tokenBalancesController'; import { selectAllTokens } from '../../../../../selectors/tokensController'; @@ -458,15 +457,20 @@ const OndoPortfolio: React.FC = ({ justifyContent={BoxJustifyContent.Between} alignItems={BoxAlignItems.Center} > + + + {row.tokenName} + + - {sanitizeOndoTokenName(row.tokenName)} - - {formatUsd(row.currentValue)} @@ -480,12 +484,7 @@ const OndoPortfolio: React.FC = ({ variant={TextVariant.BodySm} color={TextColor.TextAlternative} > - {strings( - 'rewards.ondo_campaign_portfolio.position_units', - { - units: row.units, - }, - )} + {`${row.units} ${row.tokenSymbol.toUpperCase()}`} {rowPnlPercent ? ( diff --git a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.test.ts b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.test.ts index 4fe19f79e43..7b7bec74676 100644 --- a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.test.ts +++ b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.test.ts @@ -2,7 +2,6 @@ import { groupPortfolioPositionsByAsset, formatPnlPercent, isPnlNonNegative, - sanitizeOndoTokenName, } from './OndoPortfolio.utils'; describe('groupPortfolioPositionsByAsset', () => { @@ -112,45 +111,3 @@ describe('isPnlNonNegative', () => { expect(isPnlNonNegative('—')).toBe(false); }); }); - -describe('sanitizeOndoTokenName', () => { - it('strips "(Ondo Tokenized)" suffix and trims', () => { - expect(sanitizeOndoTokenName('US Dollar (Ondo Tokenized)')).toBe( - 'US Dollar', - ); - }); - - it('strips "Ondo Tokenized " prefix (trending token API format)', () => { - expect(sanitizeOndoTokenName('Ondo Tokenized Apple')).toBe('Apple'); - }); - - it('is case-insensitive', () => { - expect(sanitizeOndoTokenName('Token (ondo tokenized)')).toBe('Token'); - }); - - it('truncates to 28 characters with ellipsis', () => { - expect(sanitizeOndoTokenName('A Very Long Token Name That Exceeds')).toBe( - 'A Very Long Token Name That...', - ); - }); - - it('strips then truncates with ellipsis', () => { - const long = 'Extremely Long Name Here That Keeps Going (Ondo Tokenized)'; - const result = sanitizeOndoTokenName(long); - expect(result).toBe('Extremely Long Name Here Tha...'); - }); - - it('does not add ellipsis when exactly 28 characters', () => { - expect(sanitizeOndoTokenName('1234567890123456789012345678')).toBe( - '1234567890123456789012345678', - ); - }); - - it('returns the name unchanged when no stripping or truncation is needed', () => { - expect(sanitizeOndoTokenName('OUSG')).toBe('OUSG'); - }); - - it('handles empty string', () => { - expect(sanitizeOndoTokenName('')).toBe(''); - }); -}); diff --git a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.ts b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.ts index a1e6008b85d..40d4b601877 100644 --- a/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.ts +++ b/app/components/UI/Rewards/components/Campaigns/OndoPortfolio.utils.ts @@ -8,7 +8,6 @@ export { getChainHex, shortenAddress, getAssetReference, - sanitizeOndoTokenName, } from '../../utils/formatUtils'; /** diff --git a/app/components/UI/Rewards/utils/formatUtils.test.ts b/app/components/UI/Rewards/utils/formatUtils.test.ts index 8424cb81242..c78001af9c0 100644 --- a/app/components/UI/Rewards/utils/formatUtils.test.ts +++ b/app/components/UI/Rewards/utils/formatUtils.test.ts @@ -25,7 +25,6 @@ import { formatUsd, formatSignedUsd, formatCompactUsd, - sanitizeOndoTokenName, formatOrdinalRank, } from './formatUtils'; import { IconName } from '@metamask/design-system-react-native'; @@ -1654,59 +1653,4 @@ describe('formatUtils', () => { expect(formatCompactUsd(-75_000)).toBe('-$75K'); }); }); - - describe('sanitizeOndoTokenName', () => { - it('strips "(Ondo Tokenized)" suffix and trims', () => { - expect(sanitizeOndoTokenName('US Dollar (Ondo Tokenized)')).toBe( - 'US Dollar', - ); - }); - - it('strips "Ondo Tokenized " prefix (trending token API format)', () => { - expect(sanitizeOndoTokenName('Ondo Tokenized Apple')).toBe('Apple'); - }); - - it('is case-insensitive for suffix form', () => { - expect(sanitizeOndoTokenName('Token (ondo tokenized)')).toBe('Token'); - }); - - it('is case-insensitive for prefix form', () => { - expect(sanitizeOndoTokenName('ONDO TOKENIZED Apple')).toBe('Apple'); - }); - - it('truncates to 28 characters with ellipsis', () => { - expect(sanitizeOndoTokenName('A Very Long Token Name That Exceeds')).toBe( - 'A Very Long Token Name That...', - ); - }); - - it('strips suffix then truncates with ellipsis', () => { - const long = 'Extremely Long Name Here That Keeps Going (Ondo Tokenized)'; - expect(sanitizeOndoTokenName(long)).toBe( - 'Extremely Long Name Here Tha...', - ); - }); - - it('strips prefix then truncates with ellipsis', () => { - expect( - sanitizeOndoTokenName( - 'Ondo Tokenized Extremely Long Name That Exceeds', - ), - ).toBe('Extremely Long Name That Exc...'); - }); - - it('does not add ellipsis when exactly 28 characters', () => { - expect(sanitizeOndoTokenName('1234567890123456789012345678')).toBe( - '1234567890123456789012345678', - ); - }); - - it('leaves unrelated names unchanged', () => { - expect(sanitizeOndoTokenName('OUSG')).toBe('OUSG'); - }); - - it('returns empty string for an empty input', () => { - expect(sanitizeOndoTokenName('')).toBe(''); - }); - }); }); diff --git a/app/components/UI/Rewards/utils/formatUtils.ts b/app/components/UI/Rewards/utils/formatUtils.ts index 19eaf683800..d6de04f929a 100644 --- a/app/components/UI/Rewards/utils/formatUtils.ts +++ b/app/components/UI/Rewards/utils/formatUtils.ts @@ -490,23 +490,6 @@ export const shortenAddress = (address: string): string => { return `${address.slice(0, 6)}...${address.slice(-4)}`; }; -const MAX_ONDO_TOKEN_NAME_LENGTH = 28; - -/** - * Strips Ondo branding from a token name and truncates to - * MAX_ONDO_TOKEN_NAME_LENGTH characters with an ellipsis if needed. - * - * Handles two forms: prefix ("Ondo Tokenized Apple" → "Apple") and - * suffix ("US Dollar (Ondo Tokenized)" → "US Dollar"). - */ -export function sanitizeOndoTokenName(raw: string): string { - const cleaned = raw - .replace(/(?:^ondo\s+tokenized\s+|\s*\(ondo\s+tokenized\))/gi, '') - .trim(); - if (cleaned.length <= MAX_ONDO_TOKEN_NAME_LENGTH) return cleaned; - return `${cleaned.slice(0, MAX_ONDO_TOKEN_NAME_LENGTH).trim()}...`; -} - export function getPortfolioReturnColor( portfolioPnlPercent: string | undefined, ): TextColor { diff --git a/locales/languages/de.json b/locales/languages/de.json index 28b98585ba4..de51c7d3d4e 100644 --- a/locales/languages/de.json +++ b/locales/languages/de.json @@ -8512,7 +8512,6 @@ "empty": "Sie haben keine Positionen", "empty_description": "Sammeln Sie Belohnungen, indem Sie eine Position in tokenisierten realen Assets eröffnen.", "empty_cta": "Eine Position öffnen", - "position_units": "{{units}} Aktien", "positions_title": "Positionen", "activity_title": "Aktivität", "view_activity": "Aktivität anzeigen", diff --git a/locales/languages/el.json b/locales/languages/el.json index 13ec23005cd..18b539b9e58 100644 --- a/locales/languages/el.json +++ b/locales/languages/el.json @@ -8512,7 +8512,6 @@ "empty": "Δεν έχετε ανοιχτές θέσεις", "empty_description": "Κερδίστε ανταμοιβές ανοίγοντας μια θέση σε πραγματικά ψηφιακά περιουσιακά στοιχεία ως token.", "empty_cta": "Ανοίξτε μια θέση", - "position_units": "{{units}} μετοχές", "positions_title": "Θέσεις", "activity_title": "Δραστηριότητα", "view_activity": "Προβολή δραστηριότητας", diff --git a/locales/languages/en.json b/locales/languages/en.json index 5205ab4d836..4894a091aaa 100644 --- a/locales/languages/en.json +++ b/locales/languages/en.json @@ -8521,7 +8521,6 @@ "empty": "You don't have any positions", "empty_description": "Start earning rewards by opening a position in tokenized real-world assets.", "empty_cta": "Open a position", - "position_units": "{{units}} shares", "positions_title": "Positions", "activity_title": "Activity", "view_activity": "View activity", diff --git a/locales/languages/es.json b/locales/languages/es.json index 7a1d9ed8af8..c35c1bfac80 100644 --- a/locales/languages/es.json +++ b/locales/languages/es.json @@ -8512,7 +8512,6 @@ "empty": "No tienes ninguna posición", "empty_description": "Comienza a ganar recompensas abriendo una posición en activos del mundo real tokenizados.", "empty_cta": "Abrir una posición", - "position_units": "{{units}} acciones", "positions_title": "Posiciones", "activity_title": "Actividad", "view_activity": "Ver actividad", diff --git a/locales/languages/fr.json b/locales/languages/fr.json index 22621832f2d..fee85edbbb6 100644 --- a/locales/languages/fr.json +++ b/locales/languages/fr.json @@ -8512,7 +8512,6 @@ "empty": "Vous n’avez aucune position", "empty_description": "Commencez à gagner des récompenses en ouvrant une position sur des actifs du monde réel tokenisés.", "empty_cta": "Ouvrir une position", - "position_units": "{{units}} actions", "positions_title": "Positions", "activity_title": "Activité", "view_activity": "Voir l’activité", diff --git a/locales/languages/hi.json b/locales/languages/hi.json index ced9d00e771..e1b0f6b416d 100644 --- a/locales/languages/hi.json +++ b/locales/languages/hi.json @@ -8512,7 +8512,6 @@ "empty": "आपके पास कोई पोज़िशन नहीं है", "empty_description": "टोकन वाले रियल-वर्ल्ड एसेट्स में पोज़िशन खोलकर रिवॉर्ड कमाना शुरू करें।", "empty_cta": "एक पोज़िशन खोलें", - "position_units": "{{units}} शेयर", "positions_title": "पोजीशन्स", "activity_title": "गतिविधि", "view_activity": "एक्टिविटी देखें", diff --git a/locales/languages/id.json b/locales/languages/id.json index b9384ae959a..504c9d778b2 100644 --- a/locales/languages/id.json +++ b/locales/languages/id.json @@ -8512,7 +8512,6 @@ "empty": "Anda tidak memiliki posisi", "empty_description": "Mulailah mendapatkan reward dengan membuka posisi pada aset dunia nyata yang di tokenisasi.", "empty_cta": "Buka posisi", - "position_units": "{{units}} saham", "positions_title": "Posisi", "activity_title": "Aktivitas", "view_activity": "Lihat aktivitas", diff --git a/locales/languages/ja.json b/locales/languages/ja.json index 62c3a10836a..216cbf2b7d3 100644 --- a/locales/languages/ja.json +++ b/locales/languages/ja.json @@ -8512,7 +8512,6 @@ "empty": "ポジションがありません", "empty_description": "RWAトークンのポジションをオープンして、報酬の獲得を始めましょう。", "empty_cta": "ポジションをオープン", - "position_units": "{{units}}株", "positions_title": "ポジション", "activity_title": "アクティビティ", "view_activity": "アクティビティを表示", diff --git a/locales/languages/ko.json b/locales/languages/ko.json index 01372f65546..8ffd7cc0102 100644 --- a/locales/languages/ko.json +++ b/locales/languages/ko.json @@ -8512,7 +8512,6 @@ "empty": "포지션이 없습니다", "empty_description": "토큰화된 실물 자산에서 포지션을 개설해 보상 적립을 시작하세요.", "empty_cta": "포지션 개설", - "position_units": "{{units}}주", "positions_title": "포지션", "activity_title": "활동", "view_activity": "활동 보기", diff --git a/locales/languages/pt.json b/locales/languages/pt.json index 9e606f5776b..15075d9f275 100644 --- a/locales/languages/pt.json +++ b/locales/languages/pt.json @@ -8512,7 +8512,6 @@ "empty": "Você não tem nenhuma posição", "empty_description": "Abra uma posição em ativos tokenizados do mundo real e comece a ganhar recompensas.", "empty_cta": "Abrir uma posição", - "position_units": "{{units}} ações", "positions_title": "Posições", "activity_title": "Atividade", "view_activity": "Ver atividade", diff --git a/locales/languages/ru.json b/locales/languages/ru.json index f292c81431e..dc7d93ec134 100644 --- a/locales/languages/ru.json +++ b/locales/languages/ru.json @@ -8512,7 +8512,6 @@ "empty": "У вас нет никаких позиций", "empty_description": "Начните зарабатывать вознаграждения, открыв позицию в токенизированных активах реального мира.", "empty_cta": "Открыть позицию", - "position_units": "{{units}} акции(-ий)", "positions_title": "Позиции", "activity_title": "Деятельность", "view_activity": "Смотреть активность", diff --git a/locales/languages/tl.json b/locales/languages/tl.json index c5b4425bcbd..557ba86be90 100644 --- a/locales/languages/tl.json +++ b/locales/languages/tl.json @@ -8512,7 +8512,6 @@ "empty": "Wala kang anumang posisyon", "empty_description": "Simulang kumita ng mga reward sa pamamagitan ng pagbubukas ng posisyon sa naka-token na mga asset sa totoong mundo.", "empty_cta": "Magbukas ng posisyon", - "position_units": "{{units}} (na) share", "positions_title": "Mga Posisyon", "activity_title": "Aktibidad", "view_activity": "Tingnan ang aktibidad", diff --git a/locales/languages/tr.json b/locales/languages/tr.json index 2a71fe184a4..5a67f03f591 100644 --- a/locales/languages/tr.json +++ b/locales/languages/tr.json @@ -8512,7 +8512,6 @@ "empty": "Pozisyonunuz yok", "empty_description": "Tokenlaştırılmış gerçek dünya varlıklarında bir pozisyon açarak ödül kazanmaya başlayın.", "empty_cta": "Bir pozisyon açın", - "position_units": "{{units}} pay", "positions_title": "Pozisyonlar", "activity_title": "Aktivite", "view_activity": "Aktiviteyi görüntüle", diff --git a/locales/languages/vi.json b/locales/languages/vi.json index 6fc67e4c02d..8b0a9964789 100644 --- a/locales/languages/vi.json +++ b/locales/languages/vi.json @@ -8512,7 +8512,6 @@ "empty": "Bạn không có bất kỳ vị thế nào", "empty_description": "Bắt đầu nhận phần thưởng bằng cách mở một vị thế trong tài sản thế giới thực được token hóa.", "empty_cta": "Mở vị thế", - "position_units": "{{units}} cổ phần", "positions_title": "Vị thế", "activity_title": "Hoạt động", "view_activity": "Xem hoạt động", diff --git a/locales/languages/zh.json b/locales/languages/zh.json index f7a0a2db289..5d545f91847 100644 --- a/locales/languages/zh.json +++ b/locales/languages/zh.json @@ -8512,7 +8512,6 @@ "empty": "您暂无任何持仓", "empty_description": "通过开立代币化现实世界资产的仓位,开始赚取奖励。", "empty_cta": "开仓", - "position_units": "{{units}} 份额", "positions_title": "头寸", "activity_title": "活动", "view_activity": "查看活动",