|
8 | 8 | parse_token_extension::{
|
9 | 9 | UiConfidentialTransferAccount, UiConfidentialTransferFeeAmount,
|
10 | 10 | 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, |
13 | 14 | UiTransferFeeAmount, UiTransferFeeConfig, UiTransferHook, UiTransferHookAccount,
|
14 | 15 | },
|
15 | 16 | },
|
@@ -906,6 +907,84 @@ fn display_ui_extension(
|
906 | 907 | }
|
907 | 908 | Ok(())
|
908 | 909 | }
|
| 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 | + } |
909 | 988 | // ExtensionType::Uninitialized is a hack to ensure a mint/account is never the same length
|
910 | 989 | // as a multisig
|
911 | 990 | UiExtension::Uninitialized => Ok(()),
|
|
0 commit comments