From ea98b760fe174d2d387461ac35bd93ca5d2aa2b6 Mon Sep 17 00:00:00 2001 From: Eric <5089238+emizzle@users.noreply.github.com> Date: Wed, 3 Jul 2024 11:25:57 +1000 Subject: [PATCH] Add timestamp to events Also add clearEvents/clearEvents --- src/stores/events.js | 42 +++++++++++++++++++++++++++++------------- src/stores/requests.js | 4 +++- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/stores/events.js b/src/stores/events.js index 8315852..7addb35 100644 --- a/src/stores/events.js +++ b/src/stores/events.js @@ -22,8 +22,16 @@ export const useEventsStore = defineStore( } = marketplace.filters const events = ref([]) // {event: 'SlotFreed',blockNumber,requestId,slotIdx,state: 'Free'} - function add({ event, blockNumber, requestId, slotIdx, state }) { - events.value.push({ event, blockNumber, requestId, slotIdx, state }) + function add({ event, blockNumber, requestId, slotIdx, state, timestamp }) { + events.value.push({ event, blockNumber, requestId, slotIdx, state, timestamp }) + } + + function clearEvents() { + events.value = [] + } + + function clearEvent(idx) { + delete events.value[idx] } async function listenForNewEvents() { @@ -35,7 +43,8 @@ export const useEventsStore = defineStore( event: StorageEvent.StorageRequested, blockNumber, requestId, - state: RequestState.New + state: RequestState.New, + timestamp: request.requestedAt }) } @@ -49,8 +58,9 @@ export const useEventsStore = defineStore( } } - let { blockNumber } = event.log - add({ event: StorageEvent.RequestFulfilled, blockNumber, requestId, state }) + let { blockNumber, blockHash } = event.log + const { timestamp } = await requests.getBlock(blockHash) + add({ event: StorageEvent.RequestFulfilled, blockNumber, requestId, state, timestamp }) } async function onRequestCancelled(requestId, event) { @@ -64,8 +74,9 @@ export const useEventsStore = defineStore( } } - let { blockNumber } = event.log - add({ event: StorageEvent.RequestCancelled, blockNumber, requestId, state }) + let { blockNumber, blockHash } = event.log + const { timestamp } = await requests.getBlock(blockHash) + add({ event: StorageEvent.RequestCancelled, blockNumber, requestId, state, timestamp }) } async function onRequestFailed(requestId, event) { @@ -79,8 +90,9 @@ export const useEventsStore = defineStore( } } - let { blockNumber } = event.log - add({ event: StorageEvent.RequestFailed, blockNumber, requestId, state }) + let { blockNumber, blockHash } = event.log + const { timestamp } = await requests.getBlock(blockHash) + add({ event: StorageEvent.RequestFailed, blockNumber, requestId, state, timestamp }) } async function onSlotFreed(requestId, slotIdx, event) { @@ -94,8 +106,9 @@ export const useEventsStore = defineStore( } } - let { blockNumber } = event.log - add({ event: StorageEvent.SlotFreed, blockNumber, requestId, slotIdx, state }) + let { blockNumber, blockHash } = event.log + const { timestamp } = await requests.getBlock(blockHash) + add({ event: StorageEvent.SlotFreed, blockNumber, requestId, slotIdx, state, timestamp }) } async function onSlotFilled(requestId, slotIdx, event) { @@ -111,8 +124,9 @@ export const useEventsStore = defineStore( } } - let { blockNumber } = event.log - add({ event: StorageEvent.SlotFilled, blockNumber, requestId, slotIdx, state }) + let { blockNumber, blockHash } = event.log + const { timestamp } = await requests.getBlock(blockHash) + add({ event: StorageEvent.SlotFilled, blockNumber, requestId, slotIdx, state, timestamp }) } await marketplace.removeAllListeners(StorageRequested) @@ -136,6 +150,8 @@ export const useEventsStore = defineStore( return { events, + clearEvent, + clearEvents, listenForNewEvents, add } diff --git a/src/stores/requests.js b/src/stores/requests.js index b9f62b3..d97db90 100644 --- a/src/stores/requests.js +++ b/src/stores/requests.js @@ -289,7 +289,8 @@ export const useRequestsStore = defineStore( event: 'RequestFinished', blockNumber, requestId, - state: RequestState.Finished + state: RequestState.Finished, + timestamp: Date.now() / 1000 }) }, msFromNow + 1000) // add additional second to ensure state has changed } @@ -308,6 +309,7 @@ export const useRequestsStore = defineStore( requests, blocks, add, + getBlock, fetchPastRequests, refetchRequestStates, fetchRequestDetails,