diff --git a/mobile_verifier/src/seniority.rs b/mobile_verifier/src/seniority.rs index a8154129c..8b4a07c59 100644 --- a/mobile_verifier/src/seniority.rs +++ b/mobile_verifier/src/seniority.rs @@ -64,7 +64,7 @@ impl<'a> SeniorityUpdate<'a> { } } - pub fn from( + pub fn from_heartbeat( heartbeat: &'a ValidatedHeartbeat, action: SeniorityUpdateAction, ) -> anyhow::Result { @@ -91,9 +91,9 @@ impl<'a> SeniorityUpdate<'a> { if prev_seniority.update_reason == HeartbeatNotSeen as i32 && coverage_claim_time < prev_seniority.seniority_ts { - Self::from(heartbeat, SeniorityUpdateAction::NoAction) + Self::from_heartbeat(heartbeat, SeniorityUpdateAction::NoAction) } else { - Self::from( + Self::from_heartbeat( heartbeat, SeniorityUpdateAction::Insert { new_seniority: coverage_claim_time, @@ -105,7 +105,7 @@ impl<'a> SeniorityUpdate<'a> { > Duration::days(3) && coverage_claim_time < heartbeat.heartbeat.timestamp { - Self::from( + Self::from_heartbeat( heartbeat, SeniorityUpdateAction::Insert { new_seniority: heartbeat.heartbeat.timestamp, @@ -113,7 +113,7 @@ impl<'a> SeniorityUpdate<'a> { }, ) } else { - Self::from( + Self::from_heartbeat( heartbeat, SeniorityUpdateAction::Update { curr_seniority: prev_seniority.seniority_ts, @@ -121,7 +121,7 @@ impl<'a> SeniorityUpdate<'a> { ) } } else { - Self::from( + Self::from_heartbeat( heartbeat, SeniorityUpdateAction::Insert { new_seniority: coverage_claim_time, diff --git a/mobile_verifier/src/sp_boosted_rewards_bans.rs b/mobile_verifier/src/sp_boosted_rewards_bans.rs index 44ca13219..621987529 100644 --- a/mobile_verifier/src/sp_boosted_rewards_bans.rs +++ b/mobile_verifier/src/sp_boosted_rewards_bans.rs @@ -244,9 +244,10 @@ where self.update_seniority(transaction, &report).await?; } - let status = match is_authorized { - true => ServiceProviderBoostedRewardsBannedRadioVerificationStatus::SpBoostedRewardsBanValid, - false => ServiceProviderBoostedRewardsBannedRadioVerificationStatus::SpBoostedRewardsBanInvalidCarrierKey, + let status = if is_authorized { + ServiceProviderBoostedRewardsBannedRadioVerificationStatus::SpBoostedRewardsBanValid + } else { + ServiceProviderBoostedRewardsBannedRadioVerificationStatus::SpBoostedRewardsBanInvalidCarrierKey }; let verified_report = VerifiedServiceProviderBoostedRewardsBannedRadioIngestReportV1 { @@ -318,8 +319,9 @@ pub mod db { r#" SELECT radio_type, radio_key FROM sp_boosted_rewards_bans - WHERE until > $1 - AND (invalidated_at > $1 OR invalidated_at IS NULL) + WHERE received_timestamp <= $1 + AND until > $1 + AND COALESCE(invalidated_at > $1, TRUE) "#, ) .bind(date_time) diff --git a/mobile_verifier/tests/integrations/seniority.rs b/mobile_verifier/tests/integrations/seniority.rs index 85cb95dec..6b1fae38d 100644 --- a/mobile_verifier/tests/integrations/seniority.rs +++ b/mobile_verifier/tests/integrations/seniority.rs @@ -36,7 +36,7 @@ async fn test_seniority_updates(pool: PgPool) -> anyhow::Result<()> { assert_eq!(latest_seniority, None); - let action1 = SeniorityUpdate::from( + let action1 = SeniorityUpdate::from_heartbeat( &heartbeat, SeniorityUpdateAction::Insert { new_seniority: "2023-08-25 00:00:00.000000000 UTC".parse().unwrap(), @@ -60,7 +60,7 @@ async fn test_seniority_updates(pool: PgPool) -> anyhow::Result<()> { heartbeat.heartbeat.timestamp = "2023-08-24 00:00:00.000000000 UTC".parse().unwrap(); - let action2 = SeniorityUpdate::from( + let action2 = SeniorityUpdate::from_heartbeat( &heartbeat, SeniorityUpdateAction::Update { curr_seniority: "2023-08-25 00:00:00.000000000 UTC".parse().unwrap(),