pub enum VaultError {
PolicyDenied(PolicyViolation),
HitlRequired,
SignerFailure(SettlementError),
InvalidAddress,
RailNotAllowed,
IdentityError(IdentityError),
SerializationError,
}Expand description
Errors produced by the signer-mode surface: settlement authorization,
spend policy enforcement, and receipt signing/verification.
Variants§
PolicyDenied(PolicyViolation)
The spend policy denied the request outright (no HITL escalation
possible for this violation — see PolicyViolation).
HitlRequired
The amount is above the policy’s hitl_above threshold and no
valid crate::policy::HitlApproval was supplied (or the one
supplied did not verify against the configured approver key,
the expected intent, or was expired).
SignerFailure(SettlementError)
The injected crate::settlement::SettlementSigner failed to
produce a signature over the EIP-712 digest.
InvalidAddress
An address argument was structurally invalid (reserved for future
validation; addresses are fixed-size [u8; 20] today so this is not
yet reachable, but kept so a future checksum/format validation has
somewhere to report to without another breaking enum change).
RailNotAllowed
The requested rail is not in the policy’s allow_rails list.
Distinct from Self::PolicyDenied(PolicyViolation::RailNotAllowed)
only in which layer detected it; both are surfaced identically to a
caller and this variant exists for call sites that check the rail
before constructing a crate::policy::SpendRequest at all.
IdentityError(IdentityError)
The aethel-core identity signing/verification layer reported a
failure (malformed key, oversized purpose, etc.) — see
aethel_core::IdentityError.
SerializationError
Bincode (de)serialization of an intent/receipt/approval message failed.