fix: Update filter last poll timestamp in filter logs (#19549)

This commit is contained in:
Erce Can Bektüre
2025-11-06 19:20:50 +03:00
committed by GitHub
parent 04093cc3be
commit a6c0ac8cf4

View File

@@ -298,11 +298,12 @@ where
/// Handler for `eth_getFilterLogs`
pub async fn filter_logs(&self, id: FilterId) -> Result<Vec<Log>, EthFilterError> {
let filter = {
let filters = self.inner.active_filters.inner.lock().await;
if let FilterKind::Log(ref filter) =
filters.get(&id).ok_or_else(|| EthFilterError::FilterNotFound(id.clone()))?.kind
{
*filter.clone()
let mut filters = self.inner.active_filters.inner.lock().await;
let filter =
filters.get_mut(&id).ok_or_else(|| EthFilterError::FilterNotFound(id.clone()))?;
if let FilterKind::Log(ref inner_filter) = filter.kind {
filter.last_poll_timestamp = Instant::now();
*inner_filter.clone()
} else {
// Not a log filter
return Err(EthFilterError::FilterNotFound(id))