mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-29 04:17:56 +00:00
94ec34c4d5
Separate between compilation and linker phases to allow deploy time linking and back-porting era compiler changes to fix #91. Unlinked contract binaries (caused by missing libraries or missing factory dependencies in turn) are emitted as raw ELF object. Few drive by fixes: - #98 - A compiler panic on missing libraries definitions. - Fixes some incosistent type forwarding in JSON output (empty string vs. null object). - Remove the unused fallback for size optimization setting. - Remove the broken `--lvm-ir` mode. - CI workflow fixes. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com> Signed-off-by: xermicus <bigcyrill@hotmail.com> Signed-off-by: xermicus <cyrill@parity.io>
40 lines
3.0 KiB
Rust
40 lines
3.0 KiB
Rust
//! This crates provides (de)serializable Rust types for interacting
|
|
//! `solc` via the [JSON-input-output][0] interface.
|
|
//!
|
|
//! [0]: https://docs.soliditylang.org/en/latest/using-the-compiler.html#compiler-input-and-output-json-description
|
|
|
|
#![allow(clippy::too_many_arguments)]
|
|
|
|
pub use self::combined_json::contract::Contract as CombinedJsonContract;
|
|
pub use self::combined_json::selector::Selector as CombinedJsonSelector;
|
|
pub use self::combined_json::selector::MESSAGE_SELECTOR_INVALID as CombinedJsonInvalidSelectorMessage;
|
|
pub use self::standard_json::input::language::Language as SolcStandardJsonInputLanguage;
|
|
pub use self::standard_json::input::settings::libraries::Libraries as SolcStandardJsonInputSettingsLibraries;
|
|
pub use self::standard_json::input::settings::metadata::Metadata as SolcStandardJsonInputSettingsMetadata;
|
|
pub use self::standard_json::input::settings::metadata_hash::MetadataHash as SolcStandardJsonInputSettingsMetadataHash;
|
|
pub use self::standard_json::input::settings::optimizer::yul_details::YulDetails as SolcStandardJsonInputSettingsYulOptimizerDetails;
|
|
pub use self::standard_json::input::settings::optimizer::Optimizer as SolcStandardJsonInputSettingsOptimizer;
|
|
pub use self::standard_json::input::settings::polkavm::memory::MemoryConfig as SolcStandardJsonInputSettingsPolkaVMMemory;
|
|
pub use self::standard_json::input::settings::polkavm::memory::DEFAULT_HEAP_SIZE as PolkaVMDefaultHeapMemorySize;
|
|
pub use self::standard_json::input::settings::polkavm::memory::DEFAULT_STACK_SIZE as PolkaVMDefaultStackMemorySize;
|
|
pub use self::standard_json::input::settings::polkavm::PolkaVM as SolcStandardJsonInputSettingsPolkaVM;
|
|
pub use self::standard_json::input::settings::selection::file::flag::Flag as SolcStandardJsonInputSettingsSelectionFileFlag;
|
|
pub use self::standard_json::input::settings::selection::file::File as SolcStandardJsonInputSettingsSelectionFile;
|
|
pub use self::standard_json::input::settings::selection::Selection as SolcStandardJsonInputSettingsSelection;
|
|
#[cfg(feature = "resolc")]
|
|
pub use self::standard_json::input::settings::warning::Warning as ResolcWarning;
|
|
pub use self::standard_json::input::settings::Settings as SolcStandardJsonInputSettings;
|
|
pub use self::standard_json::input::source::Source as SolcStandardJsonInputSource;
|
|
pub use self::standard_json::input::Input as SolcStandardJsonInput;
|
|
pub use self::standard_json::output::contract::evm::bytecode::Bytecode as SolcStandardJsonOutputContractEVMBytecode;
|
|
pub use self::standard_json::output::contract::evm::EVM as SolcStandardJsonOutputContractEVM;
|
|
pub use self::standard_json::output::contract::Contract as SolcStandardJsonOutputContract;
|
|
#[cfg(feature = "resolc")]
|
|
pub use self::standard_json::output::error::error_handler::ErrorHandler as SolcStandardJsonOutputErrorHandler;
|
|
pub use self::standard_json::output::error::mapped_location::MappedLocation as SolcStandardJsonOutputErrorMappedLocation;
|
|
pub use self::standard_json::output::error::Error as SolcStandardJsonOutputError;
|
|
pub use self::standard_json::output::Output as SolcStandardJsonOutput;
|
|
|
|
pub mod combined_json;
|
|
pub mod standard_json;
|