1use candid::CandidType;
2use serde::{Deserialize, Serialize};
3
4#[derive(CandidType, Deserialize, Clone, Debug)]
5pub enum TransferError {
6 NonExistingTokenId,
7 InvalidRecipient,
8 Unauthorized,
9 TooOld,
10 CreatedInFuture { ledger_time: u64 },
11 Duplicate { duplicate_of: u128 },
12 GenericError { error_code: u128, message: String },
13 GenericBatchError { error_code: u128, message: String },
14}
15
16#[derive(CandidType, Clone)]
17pub enum BurnError {
18 Unauthorized,
19 NonExistingTokenId,
20 GenericError { error_code: u128, message: String },
21 GenericBatchError { error_code: u128, message: String },
22}
23
24#[derive(CandidType, Clone)]
25pub enum MintError {
26 SupplyCapReached,
27 Unauthorized,
28 TokenIdAlreadyExist,
29 TokenIdMinimumLimit,
30 GenericError { error_code: u128, message: String },
31 GenericBatchError { error_code: u128, message: String },
32}
33
34#[derive(CandidType, Debug, PartialEq, Deserialize)]
35pub enum InsertTransactionError {
36 SyncPending,
37 NotSetArchiveCanister,
38 RemoteError,
39 Unexpected(String),
40 CantWrite,
41 InvalidId,
42}
43
44#[derive(CandidType, Debug, PartialEq, Deserialize, Clone)]
47pub enum ApproveTokenError {
48 TooOld,
49 InvalidSpender,
50 CreatedInFuture { ledger_time: u64 },
51 NonExistingTokenId,
52 Unauthorized,
53 GenericError { error_code: u128, message: String },
54 Duplicate { duplicate_of: u128 },
55 GenericBatchError { error_code: u128, message: String },
56}
57
58#[derive(CandidType, Debug, PartialEq, Deserialize, Clone)]
59pub enum ApproveCollectionError {
60 InvalidSpender,
61 TooOld,
62 CreatedInFuture { ledger_time: u64 },
63 GenericError { error_code: u128, message: String },
64 Duplicate { duplicate_of: u128 },
65 GenericBatchError { error_code: u128, message: String },
66}
67
68#[derive(CandidType, Debug, PartialEq, Deserialize, Clone)]
69pub enum RevokeTokenApprovalError {
70 TooOld,
71 CreatedInFuture { ledger_time: u64 },
72 NonExistingTokenId,
73 Unauthorized,
74 ApprovalDoesNotExist,
75 GenericError { error_code: u128, message: String },
76 Duplicate { duplicate_of: u128 },
77 GenericBatchError { error_code: u128, message: String },
78}
79
80#[derive(CandidType, Debug, PartialEq, Deserialize, Clone)]
81pub enum RevokeCollectionApprovalError {
82 TooOld,
83 CreatedInFuture { ledger_time: u64 },
84 Unauthorized,
85 ApprovalDoesNotExist,
86 GenericError { error_code: u128, message: String },
87 Duplicate { duplicate_of: u128 },
88 GenericBatchError { error_code: u128, message: String },
89}
90
91#[derive(CandidType, Deserialize, Serialize, Clone, Debug)]
92pub enum TransferFromError {
93 NonExistingTokenId,
94 InvalidRecipient,
95 Unauthorized,
96 TooOld,
97 CreatedInFuture { ledger_time: u64 },
98 Duplicate { duplicate_of: u128 },
99 GenericError { error_code: u128, message: String },
100 GenericBatchError { error_code: u128, message: String },
101}