Skip to content

Commit dbdc7d7

Browse files
authored
chore(frontend): state optimizations (#92)
* remove useless events 25k array from useEvent and event context * reduce block state tracker max amount of data to 5k instead of 15k
1 parent 6a6e72b commit dbdc7d7

3 files changed

Lines changed: 5 additions & 12 deletions

File tree

‎frontend/contexts/events-context.tsx‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ interface ServerMessage {
3030
interface EventsContextValue {
3131
accountAccesses: AccessEntry<string>[]
3232
storageAccesses: AccessEntry<[string, string]>[]
33-
events: SerializableEventData[]
3433
isConnected: boolean
3534
subscribe: (callback: (event: SerializableEventData) => void) => () => void
3635
subscribeToTps: (callback: (tps: number) => void) => () => void
@@ -43,7 +42,6 @@ interface EventsProviderProps {
4342
const EventsContext = createContext<EventsContextValue | null>(null)
4443

4544
const RECONNECT_DELAY = 3000
46-
const MAX_EVENTS_STORED = 25000
4745

4846
/**
4947
* A context provider for the events context.
@@ -57,7 +55,6 @@ export function EventsProvider({ children }: EventsProviderProps) {
5755
const [storageAccesses, setStorageAccesses] = useState<
5856
AccessEntry<[string, string]>[]
5957
>([])
60-
const [events, setEvents] = useState<SerializableEventData[]>([])
6158
const [isConnected, setIsConnected] = useState(false)
6259
const wsRef = useRef<WebSocket | null>(null)
6360
const subscribersRef = useRef<
@@ -104,9 +101,6 @@ export function EventsProvider({ children }: EventsProviderProps) {
104101

105102
if (message.Events && message.Events.length > 0) {
106103
const newEvents = message.Events
107-
setEvents((prevEvents) =>
108-
[...prevEvents, ...newEvents].slice(-MAX_EVENTS_STORED),
109-
)
110104

111105
// Notify all subscribers
112106
newEvents.forEach((evt) => {
@@ -177,7 +171,6 @@ export function EventsProvider({ children }: EventsProviderProps) {
177171
const value: EventsContextValue = {
178172
accountAccesses,
179173
storageAccesses,
180-
events,
181174
isConnected,
182175
subscribe,
183176
subscribeToTps,

‎frontend/hooks/use-block-state-tracker.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { formatTimestamp } from '@/lib/timestamp'
77
import type { Block, BlockState } from '@/types/block'
88
import type { SerializableEventData } from '@/types/events'
99

10-
const MAX_BLOCKS = 15000
10+
const MAX_BLOCKS = 5000
1111

1212
interface UseBlockStateTrackerReturn {
1313
blocks: Block[]

‎frontend/hooks/use-events.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ interface UseEventsOptions {
1313
*
1414
* @example Basic usage
1515
* ```tsx
16-
* const { events, isConnected } = useEvents()
16+
* const { isConnected } = useEvents()
1717
* ```
1818
*
1919
* @example With event callback
2020
* ```tsx
21-
* const { events, isConnected } = useEvents({
21+
* const { isConnected } = useEvents({
2222
* onEvent: (event) => console.log('New event:', event)
2323
* })
2424
* ```
2525
*/
2626
export function useEvents(options: UseEventsOptions = {}) {
2727
const { onEvent } = options
28-
const { accountAccesses, storageAccesses, events, isConnected, subscribe } =
28+
const { accountAccesses, storageAccesses, isConnected, subscribe } =
2929
useEventsContext()
3030
const onEventRef = useRef(onEvent)
3131

@@ -45,5 +45,5 @@ export function useEvents(options: UseEventsOptions = {}) {
4545
return unsubscribe
4646
}, [onEvent, subscribe])
4747

48-
return { accountAccesses, storageAccesses, events, isConnected }
48+
return { accountAccesses, storageAccesses, isConnected }
4949
}

0 commit comments

Comments
 (0)