Skip to main content

hypercall_db/types/
rfq.rs

1//! RFQ (Request for Quote) quote provider types.
2//!
3//! Registration, tier, and notional limit records for market maker QPs.
4
5use chrono::{DateTime, Utc};
6use hypercall_types::WalletAddress;
7use rust_decimal::Decimal;
8use serde::{Deserialize, Serialize};
9
10/// Registered quote provider with tier, status, and notional limits.
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct QuoteProviderRecord {
13    pub wallet_address: WalletAddress,
14    /// "qp1", "qp2", or "qp3_internal".
15    pub tier: String,
16    /// "active" or "suspended".
17    pub status: String,
18    /// If None, all underlyings are allowed.
19    pub allowed_underlyings: Option<Vec<String>>,
20    pub max_notional_per_quote: Decimal,
21    pub max_open_notional: Decimal,
22    pub created_at: DateTime<Utc>,
23    pub updated_at: DateTime<Utc>,
24}