From ce442378851987807a0bd0c76a8a2534d05efc79 Mon Sep 17 00:00:00 2001 From: zakkiyyat Date: Sat, 27 Jun 2026 11:37:18 +0100 Subject: [PATCH] feat: add get_access_attempts_count query endpoint to access control --- contracts/access_control/src/access_control.rs | 7 +++++++ contracts/access_control/src/lib.rs | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/contracts/access_control/src/access_control.rs b/contracts/access_control/src/access_control.rs index 4933e85f..c5858b37 100644 --- a/contracts/access_control/src/access_control.rs +++ b/contracts/access_control/src/access_control.rs @@ -610,6 +610,13 @@ impl AccessControlModule { Ok(()) } + pub fn get_access_attempts_count(env: &Env, user: Address) -> u32 { + env.storage() + .persistent() + .get(&DataKey::AccessAttempts(user)) + .unwrap_or(0) + } + fn log_access_attempt(env: &Env, user: &Address, required_role: &UserRole, success: bool) { let current_attempts: u32 = env .storage() diff --git a/contracts/access_control/src/lib.rs b/contracts/access_control/src/lib.rs index 82fe01b5..dc22b018 100644 --- a/contracts/access_control/src/lib.rs +++ b/contracts/access_control/src/lib.rs @@ -166,4 +166,8 @@ impl AccessControl { pub fn deactivate_emergency_mode(env: Env, caller: Address) { AccessControlModule::deactivate_emergency_mode(&env, caller).unwrap() } + + pub fn get_access_attempts_count(env: Env, user: Address) -> u32 { + AccessControlModule::get_access_attempts_count(&env, user) + } }