Skip to main content

cdk_mintd/env_vars/
limits.rs

1//! Transaction limits environment variables
2
3use std::env;
4
5use crate::config::Limits;
6
7pub const ENV_MAX_INPUTS: &str = "CDK_MINTD_MAX_INPUTS";
8pub const ENV_MAX_OUTPUTS: &str = "CDK_MINTD_MAX_OUTPUTS";
9
10impl Limits {
11    /// Override limits with environment variables if set
12    pub fn from_env(&self) -> Self {
13        let mut limits = self.clone();
14
15        if let Ok(max_inputs_str) = env::var(ENV_MAX_INPUTS) {
16            if let Ok(max_inputs) = max_inputs_str.parse::<usize>() {
17                limits.max_inputs = max_inputs;
18            }
19        }
20
21        if let Ok(max_outputs_str) = env::var(ENV_MAX_OUTPUTS) {
22            if let Ok(max_outputs) = max_outputs_str.parse::<usize>() {
23                limits.max_outputs = max_outputs;
24            }
25        }
26
27        limits
28    }
29}