1use foundry_compilers::artifacts::vyper::{
4 VyperOptimizationLevel, VyperOptimizationMode, VyperVenomSettings,
5};
6use serde::{Deserialize, Serialize};
7use std::path::PathBuf;
8
9#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
10pub struct VyperConfig {
11 #[serde(default, skip_serializing_if = "Option::is_none")]
13 pub optimize: Option<VyperOptimizationMode>,
14 #[serde(default, alias = "optLevel", skip_serializing_if = "Option::is_none")]
16 pub opt_level: Option<VyperOptimizationLevel>,
17 #[serde(default, skip_serializing_if = "Option::is_none")]
19 pub path: Option<PathBuf>,
20 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub experimental_codegen: Option<bool>,
23 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub venom_experimental: Option<bool>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub debug: Option<bool>,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub enable_decimals: Option<bool>,
32 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub venom: Option<VyperVenomSettings>,
35}