From 1a4eb5ce99e46456339160890ef2881615dc8056 Mon Sep 17 00:00:00 2001 From: laurentketterle-hub Date: Wed, 12 Aug 2026 19:20:09 +0200 Subject: [PATCH] fix: block instant collateral release on open-ended projects (Closes #324) --- project_registry/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/project_registry/src/lib.rs b/project_registry/src/lib.rs index 12905686..9035b19b 100644 --- a/project_registry/src/lib.rs +++ b/project_registry/src/lib.rs @@ -761,6 +761,10 @@ impl ProjectRegistry { if project.maturity_date > 0 && env.ledger().timestamp() < project.maturity_date { panic_with_error!(&env, RegistryError::ProjectNotMature); } + // Open-ended projects (maturity_date == 0) must be archived before collateral release. + if project.maturity_date == 0 && project.status != types::ProjectStatus::Archived { + panic_with_error!(&env, RegistryError::ProjectNotArchived); + } let key = DataKey::Collateral(project_id, token.clone()); let balance: i128 = env.storage().persistent().get(&key).unwrap_or(0);