+ {compressedNft.content.metadata.name !== ''
+ ? compressedNft.content.metadata.name
+ : 'No NFT name was found'}
+
+ {getVerifiedCollectionPill()}
+
+
+ {compressedNft.content.metadata.symbol !== ''
+ ? compressedNft.content.metadata.symbol
+ : 'No Symbol was found'}
+
+
{getCompressedNftPill()}
+
{getIsMutablePill(compressedNft.mutable)}
+
+
+
{getCreatorDropdownItems(compressedNft.creators)}
+
+
+
+ );
+}
+
+function getCompressedNftPill() {
+ const onchainVerifiedToolTip =
+ 'This NFT does not have on-chain data, but can be transferred and traded on-chain normally. This tag guarantees that this compressed NFT has the correct format.';
+ return (
+
+ {'Compressed'}
+
+
+ );
+}
diff --git a/app/components/account/MetaplexNFTHeader.tsx b/app/components/account/MetaplexNFTHeader.tsx
index c1e8e27b..aa6350c4 100644
--- a/app/components/account/MetaplexNFTHeader.tsx
+++ b/app/components/account/MetaplexNFTHeader.tsx
@@ -82,7 +82,7 @@ export function MetaplexNFTHeader({ nftData, address }: { nftData: NFTData; addr
}
type Creator = programs.metadata.Creator;
-function getCreatorDropdownItems(creators: Creator[] | null) {
+export function getCreatorDropdownItems(creators: Creator[] | null) {
const CreatorHeader = () => {
const creatorTooltip = 'Verified creators signed the metadata associated with this NFT when it was created.';
@@ -170,11 +170,11 @@ function getSaleTypePill(hasPrimarySaleHappened: boolean) {
);
}
-function getIsMutablePill(isMutable: boolean) {
+export function getIsMutablePill(isMutable: boolean) {
return {`${isMutable ? 'Mutable' : 'Immutable'}`};
}
-function getVerifiedCollectionPill() {
+export function getVerifiedCollectionPill() {
const onchainVerifiedToolTip =
'This NFT has been verified as a member of an on-chain collection. This tag guarantees authenticity.';
return (
diff --git a/app/providers/accounts/index.tsx b/app/providers/accounts/index.tsx
index 4fa4e639..c85fdeef 100644
--- a/app/providers/accounts/index.tsx
+++ b/app/providers/accounts/index.tsx
@@ -62,7 +62,7 @@ export function isTokenProgramData(data: { program: string }): data is TokenProg
try {
assertIsTokenProgram(data.program);
return true;
- } catch(e) {
+ } catch (e) {
return false;
}
}
diff --git a/app/providers/compressed-nft.tsx b/app/providers/compressed-nft.tsx
new file mode 100644
index 00000000..ecfc2d0e
--- /dev/null
+++ b/app/providers/compressed-nft.tsx
@@ -0,0 +1,209 @@
+type CacheType