diff --git a/crates/aiken-lang/src/lib.rs b/crates/aiken-lang/src/lib.rs index 05dee0bd..ccff969e 100644 --- a/crates/aiken-lang/src/lib.rs +++ b/crates/aiken-lang/src/lib.rs @@ -30,11 +30,5 @@ impl IdGenerator { } } -pub const SPEND: &str = "spend"; -pub const PUBLISH: &str = "publish"; -pub const MINT: &str = "mint"; -pub const WITHDRAW: &str = "withdraw"; -pub const VALIDATOR_NAMES: [&str; 4] = [SPEND, PUBLISH, MINT, WITHDRAW]; - #[cfg(test)] mod tests; diff --git a/crates/aiken-project/src/blueprint/validator.rs b/crates/aiken-project/src/blueprint/validator.rs index 5a99becc..2081c566 100644 --- a/crates/aiken-project/src/blueprint/validator.rs +++ b/crates/aiken-project/src/blueprint/validator.rs @@ -16,8 +16,6 @@ use uplc::ast::{DeBruijn, Program, Term}; pub struct Validator { pub title: String, #[serde(skip_serializing_if = "Option::is_none")] - pub purpose: Option, - #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, #[serde(skip_serializing_if = "Option::is_none")] pub datum: Option>, @@ -29,15 +27,6 @@ pub struct Validator { pub program: Program, } -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, serde::Serialize, serde::Deserialize)] -#[serde(rename_all = "camelCase")] -pub enum Purpose { - Spend, - Mint, - Withdraw, - Publish, -} - impl Display for Validator { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let s = serde_json::to_string_pretty(self).map_err(|_| fmt::Error)?; @@ -63,7 +52,6 @@ impl Validator { Ok(Validator { title: format!("{}.{}", &module.name, &def.fun.name), description: None, - purpose: None, parameters: def .params .iter() @@ -137,40 +125,6 @@ where } } -impl Purpose { - pub fn min_arity(&self) -> u8 { - match self { - Purpose::Spend => 3, - Purpose::Mint | Purpose::Withdraw | Purpose::Publish => 2, - } - } -} - -impl Display for Purpose { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(match self { - Purpose::Spend => "spend", - Purpose::Mint => "mint", - Purpose::Withdraw => "withdraw", - Purpose::Publish => "publish", - }) - } -} - -impl TryFrom for Purpose { - type Error = String; - - fn try_from(purpose: String) -> Result { - match &purpose[..] { - "spend" => Ok(Purpose::Spend), - "mint" => Ok(Purpose::Mint), - "withdraw" => Ok(Purpose::Withdraw), - "publish" => Ok(Purpose::Publish), - unexpected => Err(format!("Can't turn '{unexpected}' into any Purpose")), - } - } -} - #[cfg(test)] mod test { use super::*; diff --git a/crates/aiken-project/src/lib.rs b/crates/aiken-project/src/lib.rs index fcf6cf21..e672d287 100644 --- a/crates/aiken-project/src/lib.rs +++ b/crates/aiken-project/src/lib.rs @@ -399,8 +399,7 @@ where .into_iter() .map(|validator| { let same_title = validator.title == applied_validator.title; - let same_purpose = validator.purpose == applied_validator.purpose; - if same_title && same_purpose { + if same_title { applied_validator.to_owned() } else { validator