use revive_solc_json_interface::SolcStandardJsonInputSettingsPolkaVMMemory;
use serde::Deserialize;
use serde::Serialize;
use crate::project::contract::Contract;
use crate::project::Project;
#[derive(Debug, Serialize, Deserialize)]
pub struct Input {
pub contract: Contract,
pub project: Project,
pub include_metadata_hash: bool,
pub optimizer_settings: revive_llvm_context::OptimizerSettings,
pub debug_config: revive_llvm_context::DebugConfig,
pub llvm_arguments: Vec<String>,
pub memory_config: SolcStandardJsonInputSettingsPolkaVMMemory,
}
impl Input {
pub fn new(
contract: Contract,
project: Project,
include_metadata_hash: bool,
optimizer_settings: revive_llvm_context::OptimizerSettings,
debug_config: revive_llvm_context::DebugConfig,
llvm_arguments: Vec<String>,
memory_config: SolcStandardJsonInputSettingsPolkaVMMemory,
) -> Self {
Self {
contract,
project,
include_metadata_hash,
optimizer_settings,
debug_config,
llvm_arguments,
memory_config,
}
}
}