diff --git a/src/lib/components/json.svelte b/src/lib/components/json.svelte index 10b23968..8b64afd1 100644 --- a/src/lib/components/json.svelte +++ b/src/lib/components/json.svelte @@ -25,7 +25,7 @@ >
- {#if label !== "token"} + {#if label !== "token" && label !== "update-cNFT"}
- {#if label === "token"} + {#if label === "token" || label === "update-cNFT"}

Copy JSON

{/if} - {#if label !== "token"} + {#if label !== "token" && label !== "update-cNFT"}
- {#if showCode || label === "token"} + {#if showCode || label === "token" || label === "update-cNFT"}
{@html metadataHTML}
diff --git a/src/lib/config.ts b/src/lib/config.ts index 75e54f37..500673d4 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -101,6 +101,10 @@ export const transactionActionsMetadata: Record< icon: "lightning", label: "Transfer", }, + COMPRESSED_NFT_UPDATE_METADATA: { + icon: "arrowUp", + label: "Update NFT Metadata", + }, CREATE_ORDER: { icon: "plus", label: "Create Order", diff --git a/src/lib/xray/lib/parser/types.ts b/src/lib/xray/lib/parser/types.ts index 98ed05a9..399402aa 100644 --- a/src/lib/xray/lib/parser/types.ts +++ b/src/lib/xray/lib/parser/types.ts @@ -22,6 +22,7 @@ export enum ProtonSupportedType { EXECUTE_TRANSACTION, COMPRESSED_NFT_MINT, COMPRESSED_NFT_TRANSFER, + COMPRESSED_NFT_UPDATE_METADATA, APPROVE_TRANSACTION, STAKE_SOL, SFT_MINT, @@ -87,6 +88,7 @@ export enum ProtonSupportedActionType { "XNFT_UNINSTALL", "COMPRESSED_NFT_MINT", "COMPRESSED_NFT_TRANSFER", + "COMPRESSED_NFT_UPDATE_METADATA", "APPROVE_TRANSACTION", "STAKE_SOL", "SFT_MINT", @@ -155,6 +157,7 @@ export interface ProtonTransaction { actions: ProtonTransactionAction[]; accounts: ProtonAccount[]; raw?: EnrichedTransaction; + metadata?: { [key: string]: any }; } export interface ProtonAccount { diff --git a/src/routes/tx/[tx]/+page.svelte b/src/routes/tx/[tx]/+page.svelte index 8c0b8078..3889df11 100644 --- a/src/routes/tx/[tx]/+page.svelte +++ b/src/routes/tx/[tx]/+page.svelte @@ -25,6 +25,7 @@ let animate = false; let isLoading = true; let isMounted = false; + let updatedMetadata; const signature = $page.params.tx; @@ -164,6 +165,34 @@
{/if} + {#if $transaction.data?.type === "COMPRESSED_NFT_UPDATE_METADATA"} +
+ + + +
+
+ + + +
+ {/if} +