canic_core/access/
policy.rs1use crate::{Error, ThisError, access::AccessError, ops::storage::env::EnvOps};
2
3#[derive(Debug, ThisError)]
8pub enum PolicyError {
9 #[error("this endpoint is only available on the prime subnet")]
10 NotPrimeSubnet,
11}
12
13impl From<PolicyError> for Error {
14 fn from(err: PolicyError) -> Self {
15 AccessError::PolicyError(err).into()
16 }
17}
18
19#[allow(clippy::unused_async)]
24pub async fn is_prime_subnet() -> Result<(), Error> {
25 if EnvOps::is_prime_subnet() {
26 Ok(())
27 } else {
28 Err(PolicyError::NotPrimeSubnet.into())
29 }
30}