pub enum DenyReason {
Show 15 variants
UnknownDelegation,
NotYetValid,
Expired,
Revoked,
Replay,
OverBudget,
Overflow,
InvalidAmount,
InvalidNonce,
InvalidIntent,
RateLimited,
OverCategoryBudget,
MerchantDenied,
MerchantNotAllowed,
QuietHours,
}Expand description
拒绝原因。WAL 与对外审计直接落这里(小写蛇形,机器可 diff,人可读)。
(Ord/Hash 供统计聚合与集合去重使用;派生顺序即枚举声明顺序,不承载语义。)
Variants§
UnknownDelegation
委托未注册。
NotYetValid
委托尚未到生效时刻。
Expired
委托已过期(含恰在 valid_until 时刻)。
Revoked
委托已被撤销(kill switch,撤销后永不允许)。
Replay
重放:该 (nonce_scope, nonce) 已被成功消费过。
OverBudget
超出总预算。
Overflow
金额加法溢出(u64),按 fail-closed 处理为拒绝。
InvalidAmount
金额非法(0 分)。
InvalidNonce
nonce 非法(0)。
InvalidIntent
意图字段非法(必填字段为空白等),不属于以上具体情形。
RateLimited
速率限制:滑动窗口内成功放行笔数已达上限(W-27)。
OverCategoryBudget
类目预算超限(该类目设了上限;未知类目 fail-open,不产生本原因)(W-27)。
MerchantDenied
商户在黑名单(或与白名单冲突,deny 优先)(W-27)。
MerchantNotAllowed
商户不在白名单(白名单非空时;allow 空 = 不设白名单)(W-27)。
QuietHours
禁止时段([from_ts, until_ts) 绝对 Unix 秒,半开)(W-27)。
Trait Implementations§
Source§impl Clone for DenyReason
impl Clone for DenyReason
Source§fn clone(&self) -> DenyReason
fn clone(&self) -> DenyReason
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DenyReason
Source§impl Debug for DenyReason
impl Debug for DenyReason
Source§impl<'de> Deserialize<'de> for DenyReason
impl<'de> Deserialize<'de> for DenyReason
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for DenyReason
impl Display for DenyReason
impl Eq for DenyReason
Source§impl Hash for DenyReason
impl Hash for DenyReason
Source§impl Ord for DenyReason
impl Ord for DenyReason
Source§fn cmp(&self, other: &DenyReason) -> Ordering
fn cmp(&self, other: &DenyReason) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for DenyReason
impl PartialEq for DenyReason
Source§impl PartialOrd for DenyReason
impl PartialOrd for DenyReason
Source§impl Serialize for DenyReason
impl Serialize for DenyReason
impl StructuralPartialEq for DenyReason
Auto Trait Implementations§
impl Freeze for DenyReason
impl RefUnwindSafe for DenyReason
impl Send for DenyReason
impl Sync for DenyReason
impl Unpin for DenyReason
impl UnsafeUnpin for DenyReason
impl UnwindSafe for DenyReason
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more