Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit 1d06fdd

Browse files
committed
add display for the group extensions
1 parent 91fd1bf commit 1d06fdd

File tree

1 file changed

+81
-2
lines changed

1 file changed

+81
-2
lines changed

token/cli/src/output.rs

Lines changed: 81 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ use {
88
parse_token_extension::{
99
UiConfidentialTransferAccount, UiConfidentialTransferFeeAmount,
1010
UiConfidentialTransferFeeConfig, UiConfidentialTransferMint, UiCpiGuard,
11-
UiDefaultAccountState, UiExtension, UiInterestBearingConfig, UiMemoTransfer,
12-
UiMetadataPointer, UiMintCloseAuthority, UiPermanentDelegate, UiTokenMetadata,
11+
UiDefaultAccountState, UiExtension, UiGroupMemberPointer, UiGroupPointer,
12+
UiInterestBearingConfig, UiMemoTransfer, UiMetadataPointer, UiMintCloseAuthority,
13+
UiPermanentDelegate, UiTokenGroup, UiTokenGroupMember, UiTokenMetadata,
1314
UiTransferFeeAmount, UiTransferFeeConfig, UiTransferHook, UiTransferHookAccount,
1415
},
1516
},
@@ -906,6 +907,84 @@ fn display_ui_extension(
906907
}
907908
Ok(())
908909
}
910+
UiExtension::GroupPointer(UiGroupPointer {
911+
authority,
912+
group_address,
913+
}) => {
914+
writeln!(f, " {}", style("Group Pointer:").bold())?;
915+
writeln_name_value(
916+
f,
917+
" Authority:",
918+
if let Some(pubkey) = authority {
919+
pubkey
920+
} else {
921+
"Disabled"
922+
},
923+
)?;
924+
writeln_name_value(
925+
f,
926+
" Group address:",
927+
if let Some(pubkey) = group_address {
928+
pubkey
929+
} else {
930+
"Disabled"
931+
},
932+
)
933+
}
934+
UiExtension::GroupMemberPointer(UiGroupMemberPointer {
935+
authority,
936+
member_address,
937+
}) => {
938+
writeln!(f, " {}", style("Group Member Pointer:").bold())?;
939+
writeln_name_value(
940+
f,
941+
" Authority:",
942+
if let Some(pubkey) = authority {
943+
pubkey
944+
} else {
945+
"Disabled"
946+
},
947+
)?;
948+
writeln_name_value(
949+
f,
950+
" Member address:",
951+
if let Some(pubkey) = member_address {
952+
pubkey
953+
} else {
954+
"Disabled"
955+
},
956+
)
957+
}
958+
UiExtension::TokenGroup(UiTokenGroup {
959+
update_authority,
960+
mint,
961+
size,
962+
max_size,
963+
}) => {
964+
writeln!(f, " {}", style("Token Group:").bold())?;
965+
writeln_name_value(
966+
f,
967+
" Update Authority:",
968+
if let Some(pubkey) = update_authority {
969+
pubkey
970+
} else {
971+
"Disabled"
972+
},
973+
)?;
974+
writeln_name_value(f, " Mint:", mint)?;
975+
writeln_name_value(f, " Size:", &format!("{size}"))?;
976+
writeln_name_value(f, " Max Size:", &format!("{max_size}"))
977+
}
978+
UiExtension::TokenGroupMember(UiTokenGroupMember {
979+
mint,
980+
group,
981+
member_number,
982+
}) => {
983+
writeln!(f, " {}", style("Token Group Member:").bold())?;
984+
writeln_name_value(f, " Mint:", mint)?;
985+
writeln_name_value(f, " Group:", group)?;
986+
writeln_name_value(f, " Member Number:", &format!("{member_number}"))
987+
}
909988
// ExtensionType::Uninitialized is a hack to ensure a mint/account is never the same length
910989
// as a multisig
911990
UiExtension::Uninitialized => Ok(()),

0 commit comments

Comments
 (0)