diff --git a/contracts/manage_hub/src/lib.rs b/contracts/manage_hub/src/lib.rs index 083799f0..976fc3ec 100644 --- a/contracts/manage_hub/src/lib.rs +++ b/contracts/manage_hub/src/lib.rs @@ -1329,6 +1329,11 @@ impl Contract { pub fn get_upgrade_config(env: Env) -> Result { UpgradeModule::get_upgrade_config(env) } + + /// Returns true if the upgrade system has been configured and enabled. + pub fn is_upgrade_enabled(env: Env) -> bool { + UpgradeModule::is_upgrade_enabled(env) + } } mod test; diff --git a/contracts/manage_hub/src/upgrade.rs b/contracts/manage_hub/src/upgrade.rs index a2f526ec..28ea8f52 100644 --- a/contracts/manage_hub/src/upgrade.rs +++ b/contracts/manage_hub/src/upgrade.rs @@ -351,6 +351,15 @@ impl UpgradeModule { Self::get_config(&env) } + /// Returns true if the upgrade system has been configured and enabled. + pub fn is_upgrade_enabled(env: Env) -> bool { + env.storage() + .instance() + .get::(&DataKey::UpgradeConfig) + .map(|c| c.upgrades_enabled) + .unwrap_or(false) + } + // ----------------------------------------------------------------------- // Internal helpers // -----------------------------------------------------------------------