pub enum WalRecord {
RegisterDelegation {
ts: u64,
delegation: Delegation,
},
Revoke {
ts: u64,
delegation_id: String,
},
Decide {
ts: u64,
decision: WalDecision,
delegation_id: String,
intent: SpendIntent,
reason: Option<DenyReason>,
budget_after_cents: u64,
},
Pending {
ts: u64,
pending_id: String,
delegation_id: String,
intent: SpendIntent,
approved_amount_cents: u64,
expires_ts: u64,
},
Confirm {
ts: u64,
pending_id: String,
amount_cents: u64,
proof: String,
},
Terminal {
ts: u64,
pending_id: String,
outcome: PendingOutcome,
},
}Expand description
审计日志的一行。
Variants§
RegisterDelegation
用户授权:一份委托进入闸。
Revoke
用户收权(kill switch)。
Decide
闸的一次判定(放行与拒绝都记)。
Fields
§
decision: WalDecision§
intent: SpendIntent§
reason: Option<DenyReason>拒绝原因;Allow 时缺省(serde skip)。
Pending
W-53a ③待支付:闸放行(pending_pay 档位)后开的待支付单(审批额 + TTL)。
Fields
§
intent: SpendIntent①意图原样入账(与触发放行的 Decide 行同一意图,回放可对账)。
Confirm
W-53a ④人确认:人的显式动作(CLI 人工面),幂等,带支付凭证。
Fields
Terminal
W-53a ⑤终态:完成 / TTL 过期作废。
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WalRecord
impl<'de> Deserialize<'de> for WalRecord
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
impl Eq for WalRecord
impl StructuralPartialEq for WalRecord
Auto Trait Implementations§
impl Freeze for WalRecord
impl RefUnwindSafe for WalRecord
impl Send for WalRecord
impl Sync for WalRecord
impl Unpin for WalRecord
impl UnsafeUnpin for WalRecord
impl UnwindSafe for WalRecord
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