From 39ee8d887e1c791a5472d61764d9566170422940 Mon Sep 17 00:00:00 2001 From: charlesedeh021-cell Date: Mon, 28 Sep 2026 01:42:02 +0100 Subject: [PATCH] fix(maintenance): measure reclaim inactivity from deposits --- contracts/maintenance-pool/src/lib.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contracts/maintenance-pool/src/lib.rs b/contracts/maintenance-pool/src/lib.rs index efe727b..04f37e2 100644 --- a/contracts/maintenance-pool/src/lib.rs +++ b/contracts/maintenance-pool/src/lib.rs @@ -251,7 +251,13 @@ impl MaintenancePoolContract { } let now = env.ledger().timestamp(); - if now < pool.last_withdraw_at + INACTIVITY_WINDOW { + // A deposit is activity too: using its timestamp prevents a new or + // recently topped-up pool from becoming reclaimable immediately. + let last_activity = pool + .last_withdraw_at + .max(pool.created_at) + .max(deposit.timestamp); + if now < last_activity.saturating_add(INACTIVITY_WINDOW) { return Err(Error::InactivityWindowNotElapsed); }