From 03d44317555cf825463177bfd8a36ddb2fc3aa69 Mon Sep 17 00:00:00 2001 From: Gwendall Esnault Date: Thu, 20 May 2021 15:00:42 +0200 Subject: [PATCH 1/2] return metadataUrl --- src/fetchers/ethereum/index.tsx | 2 +- src/fetchers/ethers/index.tsx | 2 +- src/types.ts | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fetchers/ethereum/index.tsx b/src/fetchers/ethereum/index.tsx index e9318cb..d2bfd32 100644 --- a/src/fetchers/ethereum/index.tsx +++ b/src/fetchers/ethereum/index.tsx @@ -58,7 +58,7 @@ export default function ethereumFetcher( const metadata = await fetchMetadata(metadataUrl) - return { ...metadata, owner } + return { ...metadata, metadataUrl, owner } }, } } diff --git a/src/fetchers/ethers/index.tsx b/src/fetchers/ethers/index.tsx index b5c0f8b..9b21406 100644 --- a/src/fetchers/ethers/index.tsx +++ b/src/fetchers/ethers/index.tsx @@ -58,7 +58,7 @@ export default function ethersFetcher( const metadata = await fetchMetadata(metadataUrl) - return { ...metadata, owner } + return { ...metadata, metadataUrl, owner } }, } } diff --git a/src/types.ts b/src/types.ts index 1187cc7..d6ddba8 100644 --- a/src/types.ts +++ b/src/types.ts @@ -33,6 +33,7 @@ export type NftMetadata = { description: string image: string name: string + metadataUrl: string owner: Address } From cac7e777645bc07a2bcc0df11c75e731843a0b71 Mon Sep 17 00:00:00 2001 From: Gwendall Esnault Date: Thu, 20 May 2021 16:18:51 +0200 Subject: [PATCH 2/2] add metadataUrl to doc --- README.md | 8 +++++++- src/fetchers/ethereum/index.tsx | 2 +- src/fetchers/ethers/index.tsx | 2 +- src/fetchers/shared/cryptokitties.ts | 4 +++- src/types.ts | 2 +- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a41fc40..be61f36 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,8 @@ function Nft() {

{nft.description}

Owner: {nft.owner}

- +

Metadata URL: {nft.metadataUrl}

+ ) } ``` @@ -125,6 +126,10 @@ result.nft.image // current owner of the NFT (or empty string) result.nft.owner + +// url of the json containing the NFT's metadata +result.nft.metadataUrl + ``` As TypeScript type: @@ -140,6 +145,7 @@ type NftResult = { image: string name: string owner: string + metadataUrl?: string } } ``` diff --git a/src/fetchers/ethereum/index.tsx b/src/fetchers/ethereum/index.tsx index d2bfd32..42a2afd 100644 --- a/src/fetchers/ethereum/index.tsx +++ b/src/fetchers/ethereum/index.tsx @@ -58,7 +58,7 @@ export default function ethereumFetcher( const metadata = await fetchMetadata(metadataUrl) - return { ...metadata, metadataUrl, owner } + return { ...metadata, owner, metadataUrl } }, } } diff --git a/src/fetchers/ethers/index.tsx b/src/fetchers/ethers/index.tsx index 9b21406..6424183 100644 --- a/src/fetchers/ethers/index.tsx +++ b/src/fetchers/ethers/index.tsx @@ -58,7 +58,7 @@ export default function ethersFetcher( const metadata = await fetchMetadata(metadataUrl) - return { ...metadata, metadataUrl, owner } + return { ...metadata, owner, metadataUrl } }, } } diff --git a/src/fetchers/shared/cryptokitties.ts b/src/fetchers/shared/cryptokitties.ts index 77edcd8..93d36fa 100644 --- a/src/fetchers/shared/cryptokitties.ts +++ b/src/fetchers/shared/cryptokitties.ts @@ -4,7 +4,8 @@ import { CRYPTOKITTIES } from "../../known-contracts" import { addressesEqual } from "../../utils" export async function cryptoKittiesMetadata(id: string): Promise { - const res = await fetch(`https://api.cryptokitties.co/v3/kitties/${id}`) + const metadataUrl = `https://api.cryptokitties.co/v3/kitties/${id}`; + const res = await fetch(metadataUrl) const data = (await res.json()) as { name: string bio: string @@ -15,6 +16,7 @@ export async function cryptoKittiesMetadata(id: string): Promise { image: data?.image_url ?? "", name: data?.name ?? "Unknown", owner: "", + metadataUrl, } } diff --git a/src/types.ts b/src/types.ts index d6ddba8..3a47bc3 100644 --- a/src/types.ts +++ b/src/types.ts @@ -33,8 +33,8 @@ export type NftMetadata = { description: string image: string name: string - metadataUrl: string owner: Address + metadataUrl?: string } export type NftJsonMetadata = {