canic_core/domain/
icp_refill.rs1use candid::CandidType;
11use serde::{Deserialize, Serialize};
12
13#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
18#[remain::sorted]
19pub enum IcpRefillMode {
20 Canister,
21 Fabricate,
22}
23
24#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
29#[remain::sorted]
30pub enum IcpRefillStatus {
31 Completed,
32 Failed,
33 InvalidTransaction,
34 NotifyProcessing,
35 Refunded,
36 Requested,
37 TransactionTooOld,
38 Transferred,
39}
40
41#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
45#[remain::sorted]
46pub enum IcpRefillErrorCode {
47 BadFee,
48 Duplicate,
49 FabricationUnavailable,
50 InvalidLedgerBlockIndex,
51 InvalidTransaction,
52 LedgerTransferFailed,
53 NotifyFailed,
54 NotifyMaxAttempts,
55 Processing,
56 RateGateDenied,
57 Refunded,
58 RequestDenied,
59 TransactionTooOld,
60 TransferWindowStale,
61}