diff --git a/src/app/layout.tsx b/src/app/layout.tsx index d8e53ec..2fb5522 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,6 +3,7 @@ import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; import { Suspense } from "react"; import { NetworkProvider } from "@/contexts/NetworkContext"; +import { ThemeProvider } from "next-themes"; // Work around Node.js experimental localStorage mismatch in dev server // (prevents Next dev overlay from crashing when localStorage is non-standard) @@ -52,13 +53,12 @@ export default function RootLayout({ children: React.ReactNode; }) { return ( - +
- Complete blockchain activity record for this escrow contract -
-Loading contract events...
+Last 7 days (RPC-limited)
++ This contract has not emitted any events in the last 7 days, or events are not yet available via RPC. +
+Note: Contract events are only available for the last ~7 days due to RPC retention limits.
+| + Event ID + | ++ Type + | ++ Ledger + | ++ Topics + | ++ Value + | +
+
+
+
+ {event.id}
+
+
+ |
+
+ |
+ + {event.ledger.toLocaleString()} + | +
+ {event.topics.length > 0 ? (
+
+ {event.topics.slice(0, 1).map((topic, idx) => (
+
+ ) : (
+ None
+ )}
+
+ {topic}
+
+ ))}
+ {event.topics.length > 1 && (
+ +{event.topics.length - 1} more
+ )}
+ |
+
+ {event.value ? (
+
+ {event.value}
+
+ ) : (
+ None
+ )}
+ |
+
|---|
{error}
+{error}
+ {isContractNotFound && onSwitchNetwork && switchNetworkLabel && ( +