Expand description
Solc artifact types
Re-exports§
pub use serde_helpers::deserialize_bytes;
pub use serde_helpers::deserialize_opt_bytes;
pub use ast::*;
pub use bytecode::*;
pub use contract::*;
Modules§
- ast
- Bindings for the Solidity and Yul ASTs.
- bytecode
- Bytecode related types
- contract
- Contract related types
- output_
selection - bindings for standard json output selection
- serde_
helpers - serde helpers
Structs§
- Compiler
- Compiler
Input - Input type
solc
expects - Compiler
Output - Output type
solc
produces - Creation
- Debugging
Settings - Debugging settings for solc
- DevDoc
- Doc
- DocLibraries
- Error
- Error
Doc - Event
Doc - Evm
- Ewasm
- Function
Debug Data - GasEstimates
- Generated
Source - Item
- Libraries
- A wrapper type for all libraries in the form of
<file>:<lib>:<addr>
- Lossless
Abi - A helper type that ensures lossless (de)serialisation unlike
ethers_core::abi::Abi
which omits some information of (nested) components in a serde roundtrip. This is a problem for abienconderv2 structs becauseethers_core::abi::Contract
’s representation of those areethers_core::abi::Param
and thekind
field of typeethers_core::abi::ParamType
does not support deeply nested components as it’s the case for structs. This is not easily fixable in ethabi as it would require a redesign of the overallParam
andParamType
types. Instead, this type keeps a copy of theserde_json::Value
when deserialized from thesolc
json compiler output and uses it to serialize theabi
without loss. - Lossless
Metadata - A helper type that ensures lossless (de)serialisation so we can preserve the exact String metadata value that’s being hashed by solc
- Metadata
- Bindings for
solc
contract metadata - Metadata
Settings - Compiler settings
- Metadata
Source - Metadata
Sources - Compilation source files/source units, keys are file names
- Method
Doc - Model
Checker Settings - Model checker settings for solc
- Offsets
- Byte offsets into the bytecode. Linking replaces the 20 bytes located there.
- Optimizer
- Optimizer
Details - Output
- Output
Contracts - A wrapper helper type for the
Contracts
type alias - Secondary
Source Location - Settings
- Settings
Metadata - SolcAbi
- Source
- Content of a solidity file
- Source
File - Source
Files - A wrapper type for a list of source files
path -> SourceFile
- Source
Location - Standard
Json Compiler Input - A
CompilerInput
representation used for verify - Storage
- Storage
Layout - Represents the
storage-layout
section of theCompilerOutput
if selected. - Storage
Type - UserDoc
- YulDetails
Enums§
- Bytecode
Hash - Determines the hash method for the metadata hash that is appended to the bytecode.
- EvmVersion
- EVM versions.
- Model
Checker Engine - Which model checker engine to run.
- Model
Checker Invariant - Which model checker invariants to check.
- Model
Checker Solver - Which model checker solvers to check.
- Model
Checker Target - Which model checker targets to check.
- Revert
Strings - How to treat revert (and require) reason strings.
- Severity
- User
DocNotice
Type Aliases§
- Contracts
- file -> (contract name -> Contract)
- File
ToContracts Map - 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. - Sources
- An ordered list of files and their source