revive_solc_json_interface/
lib.rs

1//! This crates provides (de)serializable Rust types for interacting
2//! `solc` via the [JSON-input-output][0] interface.
3//!
4//! [0]: https://docs.soliditylang.org/en/latest/using-the-compiler.html#compiler-input-and-output-json-description
5
6#![allow(clippy::too_many_arguments)]
7
8pub use self::combined_json::contract::Contract as CombinedJsonContract;
9pub use self::combined_json::selector::Selector as CombinedJsonSelector;
10pub use self::combined_json::selector::MESSAGE_SELECTOR_INVALID as CombinedJsonInvalidSelectorMessage;
11pub use self::standard_json::input::language::Language as SolcStandardJsonInputLanguage;
12pub use self::standard_json::input::settings::libraries::Libraries as SolcStandardJsonInputSettingsLibraries;
13pub use self::standard_json::input::settings::metadata::Metadata as SolcStandardJsonInputSettingsMetadata;
14pub use self::standard_json::input::settings::metadata_hash::MetadataHash as SolcStandardJsonInputSettingsMetadataHash;
15pub use self::standard_json::input::settings::optimizer::yul_details::YulDetails as SolcStandardJsonInputSettingsYulOptimizerDetails;
16pub use self::standard_json::input::settings::optimizer::Optimizer as SolcStandardJsonInputSettingsOptimizer;
17pub use self::standard_json::input::settings::polkavm::memory::MemoryConfig as SolcStandardJsonInputSettingsPolkaVMMemory;
18pub use self::standard_json::input::settings::polkavm::memory::DEFAULT_HEAP_SIZE as PolkaVMDefaultHeapMemorySize;
19pub use self::standard_json::input::settings::polkavm::memory::DEFAULT_STACK_SIZE as PolkaVMDefaultStackMemorySize;
20pub use self::standard_json::input::settings::polkavm::PolkaVM as SolcStandardJsonInputSettingsPolkaVM;
21pub use self::standard_json::input::settings::selection::file::flag::Flag as SolcStandardJsonInputSettingsSelectionFileFlag;
22pub use self::standard_json::input::settings::selection::file::File as SolcStandardJsonInputSettingsSelectionFile;
23pub use self::standard_json::input::settings::selection::Selection as SolcStandardJsonInputSettingsSelection;
24#[cfg(feature = "resolc")]
25pub use self::standard_json::input::settings::warning::Warning as ResolcWarning;
26pub use self::standard_json::input::settings::Settings as SolcStandardJsonInputSettings;
27pub use self::standard_json::input::source::Source as SolcStandardJsonInputSource;
28pub use self::standard_json::input::Input as SolcStandardJsonInput;
29pub use self::standard_json::output::contract::evm::bytecode::Bytecode as SolcStandardJsonOutputContractEVMBytecode;
30pub use self::standard_json::output::contract::evm::EVM as SolcStandardJsonOutputContractEVM;
31pub use self::standard_json::output::contract::Contract as SolcStandardJsonOutputContract;
32#[cfg(feature = "resolc")]
33pub use self::standard_json::output::error::error_handler::ErrorHandler as SolcStandardJsonOutputErrorHandler;
34pub use self::standard_json::output::error::mapped_location::MappedLocation as SolcStandardJsonOutputErrorMappedLocation;
35pub use self::standard_json::output::error::Error as SolcStandardJsonOutputError;
36pub use self::standard_json::output::Output as SolcStandardJsonOutput;
37
38pub mod combined_json;
39pub mod standard_json;