From 92cb6ff64035cd58dc092d84a33785e7456db6ad Mon Sep 17 00:00:00 2001 From: Enrico Rubboli Date: Mon, 12 Oct 2026 15:21:36 +0200 Subject: [PATCH] fix: read token logos from the published logo_uri field --- app/src/lib/bridge-sdk/token-metadata.test.ts | 3 +++ app/src/lib/bridge-sdk/tokenMetadata.ts | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/lib/bridge-sdk/token-metadata.test.ts b/app/src/lib/bridge-sdk/token-metadata.test.ts index 6ae05df..38c21da 100644 --- a/app/src/lib/bridge-sdk/token-metadata.test.ts +++ b/app/src/lib/bridge-sdk/token-metadata.test.ts @@ -64,6 +64,9 @@ describe('sanitizeTokenMetadata', () => { it('accepts gateway and same-origin icon URLs, rejects cross-origin protocol-relative', () => { expect(sanitizeTokenMetadata({ icon: 'ipfs://QmHash' })?.icon).toBe('/ipfs/QmHash'); + expect(sanitizeTokenMetadata({ logo_uri: 'ipfs://bafyLogo' })?.icon).toBe( + '/ipfs/bafyLogo', + ); expect(sanitizeTokenMetadata({ icon: 'https://cdn.example/i.png' })?.icon).toBe( 'https://cdn.example/i.png', ); diff --git a/app/src/lib/bridge-sdk/tokenMetadata.ts b/app/src/lib/bridge-sdk/tokenMetadata.ts index 8b72b72..8e02420 100644 --- a/app/src/lib/bridge-sdk/tokenMetadata.ts +++ b/app/src/lib/bridge-sdk/tokenMetadata.ts @@ -116,7 +116,11 @@ export function sanitizeTokenMetadata(raw: unknown): TokenMetadata | null { if (decimals !== undefined) metadata.decimals = decimals; // Same icon fallback chain resolveTokenIcon has always used. - const icon = clipIcon(raw.tokenIcon ?? raw.icon_uri ?? raw.icon ?? raw.image); + // logo_uri: the schema actually published on-chain (e.g. mlUSDC + // metadata) puts the logo there. + const icon = clipIcon( + raw.tokenIcon ?? raw.icon_uri ?? raw.logo_uri ?? raw.icon ?? raw.image, + ); if (icon) metadata.icon = icon; if (isRecord(raw.origin)) {