use crate::client::{ApiError, Transport, info, info_request};
use crate::utils::Json;
use serde::Deserialize;
#[must_use]
pub fn deployer_limits_request(venue: &str) -> String {
info_request("outcomeDeployerLimits", &[("venue", Json::String(venue.to_owned()))])
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Deserialize)]
pub struct Remaining {
#[serde(default, rename = "nDailyOutcomesRemaining")]
pub daily: u32,
#[serde(default, rename = "nActiveOutcomesRemaining")]
pub active: u32,
}
pub async fn deployer_limits(transport: &impl Transport, venue: &str) -> Result<Remaining, ApiError> {
info(transport, deployer_limits_request(venue)).await
}
#[cfg(test)]
#[path = "tests/limits.rs"]
mod tests;