diff --git a/governance/xc_admin/packages/xc_admin_frontend/components/tabs/Proposals.tsx b/governance/xc_admin/packages/xc_admin_frontend/components/tabs/Proposals.tsx index b2bb1c5c..c239b05a 100644 --- a/governance/xc_admin/packages/xc_admin_frontend/components/tabs/Proposals.tsx +++ b/governance/xc_admin/packages/xc_admin_frontend/components/tabs/Proposals.tsx @@ -31,6 +31,16 @@ import ClusterSwitch from '../ClusterSwitch' import CopyPubkey from '../common/CopyPubkey' import Loadbar from '../loaders/Loadbar' +// check if a string is a pubkey +const isPubkey = (str: string) => { + try { + new PublicKey(str) + return true + } catch (e) { + return false + } +} + const ProposalRow = ({ proposal, setCurrentProposalPubkey, @@ -85,7 +95,7 @@ const ProposalRow = ({ const SignerTag = () => { return ( -
+
Signer
) @@ -93,7 +103,7 @@ const SignerTag = () => { const WritableTag = () => { return ( -
+
Writable
) @@ -400,6 +410,9 @@ const Proposal = ({ + ) : typeof instruction.args[key] === 'string' && + isPubkey(instruction.args[key]) ? ( + ) : (
{typeof instruction.args[key] === 'string' @@ -439,14 +452,18 @@ const Proposal = ({ key={index} className="flex justify-between border-t border-beige-300 py-3" > -
{key}
-
- {instruction.accounts.named[key].isSigner ? ( - - ) : null} - {instruction.accounts.named[key].isWritable ? ( - - ) : null} +
+ {key} +
+
+
+ {instruction.accounts.named[key].isSigner ? ( + + ) : null} + {instruction.accounts.named[key].isWritable ? ( + + ) : null} +
+ ) : typeof instruction.args[key] === + 'string' && + isPubkey(instruction.args[key]) ? ( + ) : (
{typeof parsedInstruction.args[ @@ -659,18 +684,22 @@ const Proposal = ({ key={index} className="flex justify-between border-t border-beige-300 py-3" > -
{key}
-
- {parsedInstruction.accounts.named[ - key - ].isSigner ? ( - - ) : null} - {parsedInstruction.accounts.named[ - key - ].isWritable ? ( - - ) : null} +
+ {key} +
+
+
+ {parsedInstruction.accounts.named[ + key + ].isSigner ? ( + + ) : null} + {parsedInstruction.accounts.named[ + key + ].isWritable ? ( + + ) : null} +
{