Expand description
Solc artifact types.
Re-exports§
pub use serde_helpers::deserialize_bytes;
pub use serde_helpers::deserialize_opt_bytes;
pub use error::*;
pub use ast::*;
pub use remappings::*;
pub use bytecode::*;
pub use contract::*;
pub use configurable::*;
pub use sources::*;
Modules§
- Bindings for the Solidity and Yul ASTs.
- Bytecode related types.
- Contract related types.
- Hardhat support
- Bindings for standard json output selection.
- Serde helpers.
Structs§
- Output type
solc
produces - Debugging settings for solc
- A wrapper type for all libraries in the form of
<file>:<lib>:<addr>
- A helper type that ensures lossless (de)serialisation so we can preserve the exact String metadata value that’s being hashed by solc
- Bindings for
solc
contract metadata - Compiler settings
- Compilation source files/source units, keys are file names
- Model checker settings for solc
- Byte offsets into the bytecode. Linking replaces the 20 bytes located there.
- A wrapper helper type for the
Contracts
type alias - Input type
solc
expects. - A wrapper type for a list of source files:
path -> SourceFile
. - A
CompilerInput
representation used for verify - Represents the
storage-layout
section of theCompilerOutput
if selected.
Enums§
- Determines the hash method for the metadata hash that is appended to the bytecode.
- Available EOF versions.
- EVM versions.
- Which model checker engine to run.
- Which model checker invariants to check.
- Which model checker solvers to check.
- Which model checker targets to check.
- How to treat revert (and require) reason strings.
- Languages supported by the Solc compiler.
Constants§
Type Aliases§
- file -> (contract name -> Contract)
- Solidity files are made up of multiple
source units
, a solidity contract is such asource unit
, therefore a solidity file can contain multiple contracts: (1-N*) relationship.