diff --git a/packages/thirdweb/src/extensions/erc1155/read/getNFT.ts b/packages/thirdweb/src/extensions/erc1155/read/getNFT.ts index 9d7d9475955..793ed38c19e 100644 --- a/packages/thirdweb/src/extensions/erc1155/read/getNFT.ts +++ b/packages/thirdweb/src/extensions/erc1155/read/getNFT.ts @@ -83,11 +83,23 @@ async function getNFTFromRPC( client: options.contract.client, tokenId: options.tokenId, tokenUri, - }).catch(() => ({ - id: options.tokenId, - type: "ERC1155", - uri: tokenUri, - })), + }) + .then((metadata) => { + // if the metadata is null-ish, return a default metadata object + if (!metadata) { + return { + id: options.tokenId, + type: "ERC1155", + uri: tokenUri, + }; + } + return metadata; + }) + .catch(() => ({ + id: options.tokenId, + type: "ERC1155", + uri: tokenUri, + })), { chainId: options.contract.chain.id, owner: null, diff --git a/packages/thirdweb/src/extensions/erc1155/read/getNFTs.ts b/packages/thirdweb/src/extensions/erc1155/read/getNFTs.ts index d18a50edbfc..5ee21d57249 100644 --- a/packages/thirdweb/src/extensions/erc1155/read/getNFTs.ts +++ b/packages/thirdweb/src/extensions/erc1155/read/getNFTs.ts @@ -52,18 +52,12 @@ export async function getNFTs( const { useIndexer = true } = options; if (useIndexer) { try { - return await getNFTsFromInsight(options).then((nfts) => - nfts.filter((nft) => nft?.id !== undefined && nft?.id !== null), - ); + return await getNFTsFromInsight(options); } catch { - return await getNFTsFromRPC(options).then((nfts) => - nfts.filter((nft) => nft?.id !== undefined && nft?.id !== null), - ); + return await getNFTsFromRPC(options); } } - return await getNFTsFromRPC(options).then((nfts) => - nfts.filter((nft) => nft?.id !== undefined && nft?.id !== null), - ); + return await getNFTsFromRPC(options); } async function getNFTsFromInsight( diff --git a/packages/thirdweb/src/extensions/erc721/read/getNFT.ts b/packages/thirdweb/src/extensions/erc721/read/getNFT.ts index cd281c5261a..4d7f6b9dd45 100644 --- a/packages/thirdweb/src/extensions/erc721/read/getNFT.ts +++ b/packages/thirdweb/src/extensions/erc721/read/getNFT.ts @@ -139,11 +139,23 @@ async function getNFTFromRPC( client: options.contract.client, tokenId, tokenUri: uri, - }).catch(() => ({ - id: tokenId, - type: "ERC721", - uri, - })), + }) + .then((metadata) => { + // if the metadata is null-ish, return a default metadata object + if (!metadata) { + return { + id: tokenId, + type: "ERC721", + uri, + }; + } + return metadata; + }) + .catch(() => ({ + id: tokenId, + type: "ERC721", + uri, + })), { chainId: options.contract.chain.id, owner, diff --git a/packages/thirdweb/src/extensions/erc721/read/getNFTs.ts b/packages/thirdweb/src/extensions/erc721/read/getNFTs.ts index f89c16c07ec..a46d54e8265 100644 --- a/packages/thirdweb/src/extensions/erc721/read/getNFTs.ts +++ b/packages/thirdweb/src/extensions/erc721/read/getNFTs.ts @@ -71,18 +71,12 @@ export async function getNFTs( const { useIndexer = true } = options; if (useIndexer) { try { - return await getNFTsFromInsight(options).then((nfts) => - nfts.filter((nft) => nft?.id !== undefined && nft?.id !== null), - ); + return await getNFTsFromInsight(options); } catch { - return await getNFTsFromRPC(options).then((nfts) => - nfts.filter((nft) => nft?.id !== undefined && nft?.id !== null), - ); + return await getNFTsFromRPC(options); } } - return await getNFTsFromRPC(options).then((nfts) => - nfts.filter((nft) => nft?.id !== undefined && nft?.id !== null), - ); + return await getNFTsFromRPC(options); } /**