Display recent blockhash if not a nonce transaction

This commit is contained in:
Justin Starry 2020-06-03 16:46:20 +08:00 committed by Michael Vines
parent d8f3081b11
commit 183095feac
1 changed files with 15 additions and 4 deletions

View File

@ -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 (
<div className="card">
<div className="card-header align-items-center">
@ -186,9 +193,13 @@ function StatusCard({ signature }: Props) {
{blockhash && (
<tr>
<td>
{isNonce ? (
"Nonce"
) : (
<InfoTooltip text="Transactions use a previously confirmed blockhash as a nonce prevent double spends">
Nonce
Recent Blockhash
</InfoTooltip>
)}
</td>
<td className="text-right">
<code>{blockhash}</code>