Skip to content

Commit

Permalink
add display for the group extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
samkim-crypto committed Jan 30, 2024
1 parent 1e30902 commit e6a1e9d
Showing 1 changed file with 81 additions and 2 deletions.
83 changes: 81 additions & 2 deletions token/cli/src/output.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ use {
parse_token_extension::{
UiConfidentialTransferAccount, UiConfidentialTransferFeeAmount,
UiConfidentialTransferFeeConfig, UiConfidentialTransferMint, UiCpiGuard,
UiDefaultAccountState, UiExtension, UiInterestBearingConfig, UiMemoTransfer,
UiMetadataPointer, UiMintCloseAuthority, UiPermanentDelegate, UiTokenMetadata,
UiDefaultAccountState, UiExtension, UiGroupMemberPointer, UiGroupPointer,
UiInterestBearingConfig, UiMemoTransfer, UiMetadataPointer, UiMintCloseAuthority,
UiPermanentDelegate, UiTokenGroup, UiTokenGroupMember, UiTokenMetadata,
UiTransferFeeAmount, UiTransferFeeConfig, UiTransferHook, UiTransferHookAccount,
},
},
Expand Down Expand Up @@ -906,6 +907,84 @@ fn display_ui_extension(
}
Ok(())
}
UiExtension::GroupPointer(UiGroupPointer {
authority,
group_address,
}) => {
writeln!(f, " {}", style("Group Pointer:").bold())?;
writeln_name_value(
f,
" Authority:",
if let Some(pubkey) = authority {
pubkey
} else {
"Disabled"
},
)?;
writeln_name_value(
f,
" Group address:",
if let Some(pubkey) = group_address {
pubkey
} else {
"Disabled"
},
)
}
UiExtension::GroupMemberPointer(UiGroupMemberPointer {
authority,
member_address,
}) => {
writeln!(f, " {}", style("Group Member Pointer:").bold())?;
writeln_name_value(
f,
" Authority:",
if let Some(pubkey) = authority {
pubkey
} else {
"Disabled"
},
)?;
writeln_name_value(
f,
" Member address:",
if let Some(pubkey) = member_address {
pubkey
} else {
"Disabled"
},
)
}
UiExtension::TokenGroup(UiTokenGroup {
update_authority,
mint,
size,
max_size,
}) => {
writeln!(f, " {}", style("Token Group:").bold())?;
writeln_name_value(
f,
" Update Authority:",
if let Some(pubkey) = update_authority {
pubkey
} else {
"Disabled"
},
)?;
writeln_name_value(f, " Mint:", mint)?;
writeln_name_value(f, " Size:", &format!("{size}"))?;
writeln_name_value(f, " Max Size:", &format!("{max_size}"))
}
UiExtension::TokenGroupMember(UiTokenGroupMember {
mint,
group,
member_number,
}) => {
writeln!(f, " {}", style("Token Group Member:").bold())?;
writeln_name_value(f, " Mint:", mint)?;
writeln_name_value(f, " Group:", group)?;
writeln_name_value(f, " Member Number:", &format!("{member_number}"))
}
// ExtensionType::Uninitialized is a hack to ensure a mint/account is never the same length
// as a multisig
UiExtension::Uninitialized => Ok(()),
Expand Down

0 comments on commit e6a1e9d

Please sign in to comment.