use cosmwasm_std::StdError;
use thiserror::Error;
use url::ParseError;
#[derive(Error, Debug, PartialEq)]
pub enum ContractError {
#[error("{0}")]
Std(#[from] StdError),
#[error("Unauthorized")]
Unauthorized {},
#[error("token_id already claimed")]
Claimed {},
#[error("model_id already claimed")]
ModelClaimed {},
#[error("Cannot set approval that is already expired")]
Expired {},
#[error("Approval not found for: {spender}")]
ApprovalNotFound { spender: String },
#[error("Invalid Royalities")]
InvalidRoyalities {},
#[error("Description too long")]
DescriptionTooLong {},
#[error("{0}")]
Parse(#[from] ParseError),
#[error("Invalid base URI (must be an IPFS URI)")]
InvalidBaseURI {},
}