dhan-rs 0.1.7

Unofficial Rust client library for the DhanHQ Broker API v2 — orders, market data, WebSocket feeds, and more
Documentation
//! Funds & Margin endpoints — Margin Calculator, Fund Limit.

use crate::client::DhanClient;
use crate::error::Result;
use crate::types::funds::*;

impl DhanClient {
    /// Calculate margin requirement for a single order.
    ///
    /// **Endpoint:** `POST /v2/margincalculator`
    pub async fn calculate_margin(
        &self,
        req: &MarginCalculatorRequest,
    ) -> Result<MarginCalculatorResponse> {
        self.post("/v2/margincalculator", req).await
    }

    /// Calculate margin requirements for multiple scripts in a single request.
    ///
    /// **Endpoint:** `POST /v2/margincalculator/multi`
    pub async fn calculate_multi_margin(
        &self,
        req: &MultiMarginRequest,
    ) -> Result<MultiMarginResponse> {
        self.post("/v2/margincalculator/multi", req).await
    }

    /// Retrieve fund limits for the trading account.
    ///
    /// Returns balance, margin utilised, collateral, and other fund details.
    ///
    /// **Endpoint:** `GET /v2/fundlimit`
    pub async fn get_fund_limit(&self) -> Result<FundLimit> {
        self.get("/v2/fundlimit").await
    }
}