use candid::CandidType;
use serde::{Deserialize, Serialize};
#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[remain::sorted]
pub enum IcpRefillMode {
Canister,
Fabricate,
}
#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[remain::sorted]
pub enum IcpRefillStatus {
Completed,
Failed,
InvalidTransaction,
NotifyProcessing,
Refunded,
Requested,
TransactionTooOld,
Transferred,
}
#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[remain::sorted]
pub enum IcpRefillErrorCode {
BadFee,
Duplicate,
FabricationUnavailable,
InvalidLedgerBlockIndex,
InvalidTransaction,
LedgerTransferFailed,
NotifyFailed,
NotifyMaxAttempts,
Processing,
RateGateDenied,
Refunded,
RequestDenied,
TransactionTooOld,
TransferWindowStale,
}