diff --git a/src/components/GetMetadata.tsx b/src/components/GetMetadata.tsx index fe8a8f5..a52b0f2 100644 --- a/src/components/GetMetadata.tsx +++ b/src/components/GetMetadata.tsx @@ -2,6 +2,8 @@ import { FC, useState, useCallback } from 'react'; import { useConnection } from '@solana/wallet-adapter-react'; import { PublicKey } from '@solana/web3.js'; import { Metadata } from '@metaplex-foundation/mpl-token-metadata'; +import { findMetadataPda } from '@metaplex-foundation/js'; + export const GetMetadata: FC = () => { const { connection } = useConnection(); @@ -13,9 +15,13 @@ export const GetMetadata: FC = () => { const getMetadata = useCallback( async (form) => { const tokenMint = form.tokenAddress; - const metadataPDA = await Metadata.getPDA(new PublicKey(tokenMint)); - const metadata = await Metadata.load(connection, metadataPDA); - let logoRes = await fetch(metadata.data.data.uri); + const metadataPDA = await findMetadataPda(new PublicKey(tokenMint)); + console.log(metadataPDA.toBase58()); + const metadataAccount = await connection.getAccountInfo(metadataPDA); + console.log(metadataAccount); + const [metadata, _] = await Metadata.deserialize(metadataAccount.data); + console.log(metadata); + let logoRes = await fetch(metadata.data.uri); let logoJson = await logoRes.json(); let { image } = logoJson; setTokenMetadata({ tokenMetadata, ...metadata.data }); @@ -44,57 +50,51 @@ export const GetMetadata: FC = () => {
{!loaded ? undefined : ( - <> - {tokenMetadata.tokenStandard === 1 ? ( -
-
-

- Token Metadata -

-
-
-
- <> -
-
- logo -
-
- token -
-
-
-
- name -
-
- {tokenMetadata.data.name} -
-
-
-
- symbol -
-
- {tokenMetadata.data.symbol || 'undefined'} -
-
-
-
- uri -
-
- {tokenMetadata.data.uri} -
-
- -
-
+
+
+

+ Token Metadata +

+
+
+
+ <> +
+
+ logo +
+
+ token +
+
+
+
+ name +
+
+ {tokenMetadata.name} +
+
+
+
+ symbol +
+
+ {tokenMetadata.symbol || 'undefined'} +
+
+
+
+ uri +
+
+ {tokenMetadata.uri} +
+
+ +
- ) : ( -

Nothing to display.

- )} - +
)}