From 97d9c6c0802af6ecb6931bde7f915283bc66b6d2 Mon Sep 17 00:00:00 2001 From: Tejas Badadare Date: Thu, 7 Aug 2025 13:47:12 -0700 Subject: [PATCH 1/2] fix(fortuna): set last_updated_at correctly, use ms precision --- apps/fortuna/src/history.rs | 20 ++++++++++---------- apps/fortuna/src/keeper/process_event.rs | 1 + 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/fortuna/src/history.rs b/apps/fortuna/src/history.rs index 3d205a6eef..a278af9208 100644 --- a/apps/fortuna/src/history.rs +++ b/apps/fortuna/src/history.rs @@ -144,9 +144,9 @@ impl TryFrom for RequestStatus { let network_id = row.network_id as u64; let provider = row.provider.parse()?; let sequence = row.sequence as u64; - let created_at = DateTime::from_timestamp(row.created_at, 0) + let created_at = DateTime::from_timestamp_millis(row.created_at) .ok_or(anyhow::anyhow!("Invalid created_at timestamp"))?; - let last_updated_at = DateTime::from_timestamp(row.last_updated_at, 0) + let last_updated_at = DateTime::from_timestamp_millis(row.last_updated_at) .ok_or(anyhow::anyhow!("Invalid last_updated_at timestamp"))?; let request_block_number = row.request_block_number as u64; let user_random_number = hex::FromHex::from_hex(row.user_random_number)?; @@ -322,8 +322,8 @@ impl History { .bind(network_id) .bind(provider.clone()) .bind(sequence) - .bind(new_status.created_at.timestamp()) - .bind(new_status.last_updated_at.timestamp()) + .bind(new_status.created_at.timestamp_millis()) + .bind(new_status.last_updated_at.timestamp_millis()) .bind("Pending") .bind(block_number) .bind(request_tx_hash.clone()) @@ -354,7 +354,7 @@ impl History { let callback_gas_used: String = callback_gas_used.to_string(); let result = sqlx::query("UPDATE request SET state = $1, last_updated_at = $2, reveal_block_number = $3, reveal_tx_hash = $4, provider_random_number = $5, gas_used = $6, callback_failed = $7, callback_return_value = $8, callback_gas_used = $9 WHERE network_id = $10 AND sequence = $11 AND provider = $12 AND request_tx_hash = $13") .bind("Completed") - .bind(new_status.last_updated_at.timestamp()) + .bind(new_status.last_updated_at.timestamp_millis()) .bind(reveal_block_number) .bind(reveal_tx_hash) .bind(provider_random_number) @@ -383,7 +383,7 @@ impl History { .map(|provider_random_number| provider_random_number.encode_hex()); sqlx::query("UPDATE request SET state = $1, last_updated_at = $2, info = $3, provider_random_number = $4 WHERE network_id = $5 AND sequence = $6 AND provider = $7 AND request_tx_hash = $8 AND state = 'Pending'") .bind("Failed") - .bind(new_status.last_updated_at.timestamp()) + .bind(new_status.last_updated_at.timestamp_millis()) .bind(reason) .bind(provider_random_number) .bind(network_id) @@ -553,8 +553,8 @@ impl<'a> RequestQueryBuilder<'a> { // Now bind all parameters in order let mut query = sqlx::query_as::<_, RequestRow>(&sql) - .bind(self.min_timestamp.timestamp()) - .bind(self.max_timestamp.timestamp()); + .bind(self.min_timestamp.timestamp_millis()) + .bind(self.max_timestamp.timestamp_millis()); match &self.search { Some(SearchField::TxHash(tx_hash)) => { @@ -635,8 +635,8 @@ impl<'a> RequestQueryBuilder<'a> { // Now bind all parameters in order let mut query = sqlx::query_scalar::<_, i64>(&sql) - .bind(self.min_timestamp.timestamp()) - .bind(self.max_timestamp.timestamp()); + .bind(self.min_timestamp.timestamp_millis()) + .bind(self.max_timestamp.timestamp_millis()); match &self.search { Some(SearchField::TxHash(tx_hash)) => { diff --git a/apps/fortuna/src/keeper/process_event.rs b/apps/fortuna/src/keeper/process_event.rs index 4fec809085..646bc96204 100644 --- a/apps/fortuna/src/keeper/process_event.rs +++ b/apps/fortuna/src/keeper/process_event.rs @@ -181,6 +181,7 @@ pub async fn process_event_with_backoff( .get_or_create(&account_label) .inc(); + status.last_updated_at = chrono::Utc::now(); match success { Ok(result) => { status.state = RequestEntryState::Completed { From 86ba9c7bd451529c6d68224f5601ffd7001780d4 Mon Sep 17 00:00:00 2001 From: Tejas Badadare <17058023+tejasbadadare@users.noreply.github.com> Date: Thu, 7 Aug 2025 14:12:19 -0700 Subject: [PATCH 2/2] bump ver --- apps/fortuna/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/fortuna/Cargo.toml b/apps/fortuna/Cargo.toml index fc88390072..1f45ee12ca 100644 --- a/apps/fortuna/Cargo.toml +++ b/apps/fortuna/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fortuna" -version = "9.1.1" +version = "9.1.2" edition = "2021" [lib]