road-runner-common 0.11.0

Shared Rust utilities for exchange ecosystem backend services.
Documentation
//! Shared sensitive-action confirmation contract ("what you see is what you
//! sign"). cex-auth mints a short-lived, single-use HMAC token binding
//! `{sub, purpose, action-hash, jti}` after a WebAuthn assertion (or dynamic-
//! linking OTP); every enforcing service (cex-ledger, cex-account) recomputes the
//! same action hash from the real request body and verifies the token here.
//!
//! Single source of truth: the token format, hash canonicalization, and jti-burn
//! semantics were previously hand-duplicated ("TWIN") across cex-auth and
//! cex-ledger. This module is the versioned contract (`v1|…`) — change every
//! consumer together and bump the prefix on any wire change.

mod action;
mod enforce;
mod token;

pub use action::{
    canonical_amount, AddBankAccount, AddWithdrawAddress, ConfirmAction, CreateApiKey,
    RotateApiKey, Withdrawal,
};
pub use enforce::{
    apply_mode, check, used_jti_key, ConfirmationMode, ModeDecision, Outcome, PreBurn,
    CONFIRMATION_REQUIRED,
};
pub use token::{
    decode_secret, mint, verify, ConfirmationClaims, SecretError, TokenError,
};