1use cosmwasm_std::{StdError, Timestamp};
2use cw_utils::PaymentError;
3use sg1::FeeError;
4use thiserror::Error;
5
6#[derive(Error, Debug)]
7pub enum ContractError {
8 #[error("{0}")]
9 Std(#[from] StdError),
10
11 #[error("Unauthorized")]
12 Unauthorized {},
13
14 #[error("AlreadyStarted")]
15 AlreadyStarted {},
16
17 #[error("DuplicateMember: {0}")]
18 DuplicateMember(String),
19
20 #[error("NoMemberFound: {0}")]
21 NoMemberFound(String),
22
23 #[error("InvalidStartTime {0} > {1}")]
24 InvalidStartTime(Timestamp, Timestamp),
25
26 #[error("InvalidEndTime {0} > {1}")]
27 InvalidEndTime(Timestamp, Timestamp),
28
29 #[error("MembersExceeded: {expected} got {actual}")]
30 MembersExceeded { expected: u32, actual: u32 },
31
32 #[error("Invalid minting limit per address. max: {max}, got: {got}")]
33 InvalidPerAddressLimit { max: String, got: String },
34
35 #[error("Invalid member limit. min: {min}, max: {max}, got: {got}")]
36 InvalidMemberLimit { min: u32, max: u32, got: u32 },
37
38 #[error("Max minting limit per address exceeded")]
39 MaxPerAddressLimitExceeded {},
40
41 #[error("{0}")]
42 Fee(#[from] FeeError),
43
44 #[error("InvalidUnitPrice {0} < {1}")]
45 InvalidUnitPrice(u128, u128),
46
47 #[error("IncorrectCreationFee {0} < {1}")]
48 IncorrectCreationFee(u128, u128),
49
50 #[error("{0}")]
51 PaymentError(#[from] PaymentError),
52
53 #[error("UnauthorizedAdmin")]
54 UnauthorizedAdmin {},
55}