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

View File

@ -10,7 +10,8 @@ import { useCluster, useClusterModal } from "providers/cluster";
import { import {
TransactionSignature, TransactionSignature,
SystemProgram, SystemProgram,
StakeProgram StakeProgram,
SystemInstruction
} from "@solana/web3.js"; } from "@solana/web3.js";
import ClusterStatusButton from "components/ClusterStatusButton"; import ClusterStatusButton from "components/ClusterStatusButton";
import { lamportsToSolString } from "utils"; import { lamportsToSolString } from "utils";
@ -137,6 +138,12 @@ function StatusCard({ signature }: Props) {
const fee = details?.transaction?.meta?.fee; const fee = details?.transaction?.meta?.fee;
const blockhash = details?.transaction?.transaction.recentBlockhash; 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 ( return (
<div className="card"> <div className="card">
<div className="card-header align-items-center"> <div className="card-header align-items-center">
@ -186,9 +193,13 @@ function StatusCard({ signature }: Props) {
{blockhash && ( {blockhash && (
<tr> <tr>
<td> <td>
<InfoTooltip text="Transactions use a previously confirmed blockhash as a nonce prevent double spends"> {isNonce ? (
Nonce "Nonce"
</InfoTooltip> ) : (
<InfoTooltip text="Transactions use a previously confirmed blockhash as a nonce prevent double spends">
Recent Blockhash
</InfoTooltip>
)}
</td> </td>
<td className="text-right"> <td className="text-right">
<code>{blockhash}</code> <code>{blockhash}</code>