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("AlreadyEnded")]
18 AlreadyEnded {},
19
20 #[error("InvalidDenom: {0}")]
21 InvalidDenom(String),
22
23 #[error("NoMemberFound: {0}")]
24 NoMemberFound(String),
25
26 #[error("InvalidStartTime {0} > {1}")]
27 InvalidStartTime(Timestamp, Timestamp),
28
29 #[error("InvalidEndTime {0} > {1}")]
30 InvalidEndTime(Timestamp, Timestamp),
31
32 #[error("Invalid merkle tree URI (must be an IPFS URI)")]
33 InvalidMerkleTreeURI {},
34
35 #[error("Max minting limit per address exceeded")]
36 MaxPerAddressLimitExceeded {},
37
38 #[error("{0}")]
39 Fee(#[from] FeeError),
40
41 #[error("InvalidUnitPrice {0} < {1}")]
42 InvalidUnitPrice(u128, u128),
43
44 #[error("IncorrectCreationFee {0} < {1}")]
45 IncorrectCreationFee(u128, u128),
46
47 #[error("{0}")]
48 PaymentError(#[from] PaymentError),
49
50 #[error("UnauthorizedAdmin")]
51 UnauthorizedAdmin {},
52
53 #[error("InvalidHashString: {0}")]
54 InvalidHashString(String),
55}