@@ -13,7 +13,7 @@ import {
1313 PeerRemove ,
1414 SkipRate ,
1515 SlotLevel ,
16- SlotReponse ,
16+ SlotResponse ,
1717} from "./api/types" ;
1818import { merge } from "lodash" ;
1919import { getLeaderSlots , getStake } from "./utils" ;
@@ -153,34 +153,26 @@ export const deleteSlotStatusBoundsAtom = atom(null, (get, set) => {
153153 }
154154} ) ;
155155
156- const hasQueryedAtom = atomWithImmer < Record < number , boolean > > ( { } ) ;
156+ const slotResponseAtom = atomWithImmer < Record < number , SlotResponse > > ( { } ) ;
157157
158- export const getHasQueryedAtom = ( slot ?: number ) =>
159- atom ( ( get ) => ( slot !== undefined ? ! ! get ( hasQueryedAtom ) [ slot ] : false ) ) ;
160-
161- export const setHasQueryedAtom = atom ( null , ( _ , set , slot : number ) => {
162- set ( hasQueryedAtom , ( draft ) => {
163- draft [ slot ] = true ;
164- } ) ;
165- } ) ;
166-
167- export const deleteHasQueryedAtom = atom ( null , ( get , set , slot : number ) => {
168- set ( hasQueryedAtom , ( draft ) => {
169- delete draft [ slot ] ;
170- } ) ;
171- } ) ;
172-
173- const slotResponseAtom = atomWithImmer < Record < number , SlotReponse > > ( { } ) ;
158+ export const getSlotPublishAtom = ( slot ?: number ) =>
159+ atom ( ( get ) =>
160+ slot !== undefined ? get ( slotResponseAtom ) [ slot ] ?. publish : undefined
161+ ) ;
174162
175163export const getSlotResponseAtom = ( slot ?: number ) =>
176164 atom ( ( get ) => ( slot !== undefined ? get ( slotResponseAtom ) [ slot ] : undefined ) ) ;
177165
178166export const setSlotResponseAtom = atom (
179167 null ,
180- ( _ , set , response : SlotReponse ) => {
168+ ( _ , set , response : SlotResponse ) => {
181169 const slot = response . publish . slot ;
182170 set ( slotResponseAtom , ( draft ) => {
171+ response . compute_units ??= draft [ slot ] ?. compute_units ;
172+ response . tile_primary_metric ??= draft [ slot ] ?. tile_primary_metric ;
183173 response . tile_timers ??= draft [ slot ] ?. tile_timers ;
174+ response . waterfall ??= draft [ slot ] ?. waterfall ;
175+
184176 draft [ slot ] = response ;
185177 } ) ;
186178 }
@@ -215,7 +207,7 @@ export const deleteSlotResponseBoundsAtom = atom(null, (get, set) => {
215207 ( numberVal < cacheSlotMin || numberVal > cacheSlotMax )
216208 ) {
217209 delete draft [ numberVal ] ;
218- set ( deleteHasQueryedAtom , numberVal ) ;
210+ // set(deleteHasQueryedAtom, numberVal);
219211 }
220212 }
221213 } ) ;
@@ -224,10 +216,10 @@ export const deleteSlotResponseBoundsAtom = atom(null, (get, set) => {
224216
225217export const firstProcessedSlotAtom = atom ( ( get ) => {
226218 const startupProgress = get ( startupProgressAtom ) ;
227- if ( ! ( startupProgress ?. downloading_incremental_snapshot_slot ) ) return ;
219+ if ( ! startupProgress ?. downloading_incremental_snapshot_slot ) return ;
228220
229- return startupProgress . downloading_incremental_snapshot_slot + 1 ;
230- } )
221+ return startupProgress . downloading_incremental_snapshot_slot + 1 ;
222+ } ) ;
231223
232224const _currentSlotAtom = atom < number | undefined > ( undefined ) ;
233225export const currentSlotAtom = atom (
0 commit comments