From 183095feacd2c230c80820a6699e6da74c1c86a9 Mon Sep 17 00:00:00 2001 From: Justin Starry Date: Wed, 3 Jun 2020 16:46:20 +0800 Subject: [PATCH] Display recent blockhash if not a nonce transaction --- .../src/components/TransactionDetails.tsx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/explorer/src/components/TransactionDetails.tsx b/explorer/src/components/TransactionDetails.tsx index 96c4ee4bb0..50131b9b6e 100644 --- a/explorer/src/components/TransactionDetails.tsx +++ b/explorer/src/components/TransactionDetails.tsx @@ -10,7 +10,8 @@ import { useCluster, useClusterModal } from "providers/cluster"; import { TransactionSignature, SystemProgram, - StakeProgram + StakeProgram, + SystemInstruction } from "@solana/web3.js"; import ClusterStatusButton from "components/ClusterStatusButton"; import { lamportsToSolString } from "utils"; @@ -137,6 +138,12 @@ function StatusCard({ signature }: Props) { const fee = details?.transaction?.meta?.fee; const blockhash = details?.transaction?.transaction.recentBlockhash; + const ix = details?.transaction?.transaction.instructions[0]; + const isNonce = + ix && + SystemProgram.programId.equals(ix.programId) && + SystemInstruction.decodeInstructionType(ix) === "AdvanceNonceAccount"; + return (
@@ -186,9 +193,13 @@ function StatusCard({ signature }: Props) { {blockhash && ( - - Nonce - + {isNonce ? ( + "Nonce" + ) : ( + + Recent Blockhash + + )} {blockhash}