1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
use cosmwasm_std::StdError;
use komple_framework_utils::{shared::SharedError, UtilError};
use thiserror::Error;
use cw721_base::ContractError as Cw721ContractError;
#[derive(Error, Debug, PartialEq)]
pub enum ContractError {
#[error("{0}")]
Std(#[from] StdError),
#[error("Unauthorized")]
Unauthorized {},
#[error("Invalid instantiate msg")]
InvalidInstantiateMsg {},
#[error("Token mint locked")]
MintLocked {},
#[error("Token burn locked")]
BurnLocked {},
#[error("Token transfer locked")]
TransferLocked {},
#[error("Token send locked")]
SendLocked {},
#[error("Per address limit must be greater than 0")]
InvalidPerAddressLimit {},
#[error("Token limit is exceeded")]
TokenLimitReached {},
#[error("Token not found")]
TokenNotFound {},
#[error("Invalid max token limit")]
InvalidMaxTokenLimit {},
#[error("Invalid start time")]
InvalidStartTime {},
#[error("Minting has not started")]
MintingNotStarted {},
#[error("Minting has already started")]
AlreadyStarted {},
#[error("Description too long")]
DescriptionTooLong {},
#[error("Token_id already claimed")]
Claimed {},
#[error("Cannot set approval that is already expired")]
Expired {},
#[error("Approval not found for: {spender}")]
ApprovalNotFound { spender: String },
#[error("Invalid reply ID")]
InvalidReplyID {},
#[error("Metadata contract not found")]
MetadataContractNotFound {},
#[error("Error while instantiating contract")]
ContractsInstantiateError {},
#[error("IPFS link not found")]
IpfsNotFound {},
#[error("Collection and metadata types must be standard")]
InvalidCollectionMetadataType {},
#[error("Custom Error val: {val:?}")]
CustomError { val: String },
#[error("{0}")]
Util(#[from] UtilError),
#[error("{0}")]
SharedError(#[from] SharedError),
#[error("Semver parsing error: {0}")]
SemVer(String),
}
impl From<Cw721ContractError> for ContractError {
fn from(err: Cw721ContractError) -> ContractError {
match err {
Cw721ContractError::Std(err) => ContractError::Std(err),
Cw721ContractError::Unauthorized {} => ContractError::Unauthorized {},
Cw721ContractError::Claimed {} => ContractError::Claimed {},
Cw721ContractError::Expired {} => ContractError::Expired {},
Cw721ContractError::ApprovalNotFound { spender } => {
ContractError::ApprovalNotFound { spender }
}
}
}
}
impl From<semver::Error> for ContractError {
fn from(err: semver::Error) -> Self {
Self::SemVer(err.to_string())
}
}