From 67a28555e2689a7d2978c497c4e9b14cc3fe6f2a Mon Sep 17 00:00:00 2001 From: Christopher Dro Date: Mon, 10 Jan 2022 18:43:32 -0800 Subject: [PATCH 1/2] [Provider] Support fetching avatar metadata stored in ipfs --- packages/providers/src.ts/base-provider.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/providers/src.ts/base-provider.ts b/packages/providers/src.ts/base-provider.ts index 299b2ab6cd..66e96c7c0a 100644 --- a/packages/providers/src.ts/base-provider.ts +++ b/packages/providers/src.ts/base-provider.ts @@ -482,6 +482,17 @@ export class Resolver implements EnsResolver { } // Get the token metadata + const url = new URL(metadataUrl); + let metadata = null; + switch (url.protocol) { + case "ipfs:": + metadata = yield fetchJson(getIpfsLink(url.pathname)); + break; + case "http:": + case "https:": + metadata = yield fetchJson(metadataUrl); + } + const metadata = await fetchJson(metadataUrl); if (!metadata) { return null; } linkage.push({ type: "metadata", content: JSON.stringify(metadata) }); From 79725e480963393821910d900a87edfa79dbd8ed Mon Sep 17 00:00:00 2001 From: Christopher Dro Date: Mon, 10 Jan 2022 19:18:26 -0800 Subject: [PATCH 2/2] Update base-provider.ts --- packages/providers/src.ts/base-provider.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/providers/src.ts/base-provider.ts b/packages/providers/src.ts/base-provider.ts index 66e96c7c0a..b56461f541 100644 --- a/packages/providers/src.ts/base-provider.ts +++ b/packages/providers/src.ts/base-provider.ts @@ -491,6 +491,7 @@ export class Resolver implements EnsResolver { case "http:": case "https:": metadata = yield fetchJson(metadataUrl); + break; } const metadata = await fetchJson(metadataUrl);