diff --git a/explorer/src/pages/inspector/SimulatorCard.tsx b/explorer/src/pages/inspector/SimulatorCard.tsx
index 11ee7a9520..1c5c01d11c 100644
--- a/explorer/src/pages/inspector/SimulatorCard.tsx
+++ b/explorer/src/pages/inspector/SimulatorCard.tsx
@@ -34,17 +34,17 @@ export function SimulatorCard({ message }: { message: VersionedMessage }) {
Transaction Simulation
- Simulate
+ {simulationError ? "Retry" : "Simulate"}
- {simulationError ? (
-
- Failed to run simulation:
- {simulationError}
-
- ) : (
-
);
}
@@ -103,12 +103,21 @@ function useSimulator(message: VersionedMessage) {
new VersionedTransaction(message),
{ replaceRecentBlockhash: true }
);
+
if (resp.value.logs === null) {
throw new Error("Expected to receive logs from simulation");
}
- // Prettify logs
- setLogs(parseProgramLogs(resp.value.logs, resp.value.err, cluster));
+ if (
+ resp.value.logs.length === 0 &&
+ typeof resp.value.err === "string"
+ ) {
+ setLogs(null);
+ setError(resp.value.err);
+ } else {
+ // Prettify logs
+ setLogs(parseProgramLogs(resp.value.logs, resp.value.err, cluster));
+ }
} catch (err) {
console.error(err);
setLogs(null);