#[cfg(not(feature = "std"))]
use alloc::string::String;
#[cfg(feature = "std")]
use std::string::String;
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum Verb {
Transfer,
Deploy,
Approve,
Custom(String),
}
impl Verb {
pub fn as_str(&self) -> &str {
match self {
Verb::Transfer => "transfer",
Verb::Deploy => "deploy",
Verb::Approve => "approve",
Verb::Custom(s) => s.as_str(),
}
}
}
pub trait VerbRegistry {
fn is_allowed(&self, verb: &Verb) -> bool;
}