Module artifacts

Source
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
CompilerInput
Input type solc expects
CompilerOutput
Output type solc produces
Creation
DebuggingSettings
Debugging settings for solc
DevDoc
Doc
DocLibraries
Error
ErrorDoc
EventDoc
Evm
Ewasm
FunctionDebugData
GasEstimates
GeneratedSource
Item
Libraries
A wrapper type for all libraries in the form of <file>:<lib>:<addr>
LosslessAbi
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 because ethers_core::abi::Contract’s representation of those are ethers_core::abi::Param and the kind field of type ethers_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 overall Param and ParamType types. Instead, this type keeps a copy of the serde_json::Value when deserialized from the solc json compiler output and uses it to serialize the abi without loss.
LosslessMetadata
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
MetadataSettings
Compiler settings
MetadataSource
MetadataSources
Compilation source files/source units, keys are file names
MethodDoc
ModelCheckerSettings
Model checker settings for solc
Offsets
Byte offsets into the bytecode. Linking replaces the 20 bytes located there.
Optimizer
OptimizerDetails
Output
OutputContracts
A wrapper helper type for the Contracts type alias
SecondarySourceLocation
Settings
SettingsMetadata
SolcAbi
Source
Content of a solidity file
SourceFile
SourceFiles
A wrapper type for a list of source files path -> SourceFile
SourceLocation
StandardJsonCompilerInput
A CompilerInput representation used for verify
Storage
StorageLayout
Represents the storage-layout section of the CompilerOutput if selected.
StorageType
UserDoc
YulDetails

Enums§

BytecodeHash
Determines the hash method for the metadata hash that is appended to the bytecode.
EvmVersion
EVM versions.
ModelCheckerEngine
Which model checker engine to run.
ModelCheckerInvariant
Which model checker invariants to check.
ModelCheckerSolver
Which model checker solvers to check.
ModelCheckerTarget
Which model checker targets to check.
RevertStrings
How to treat revert (and require) reason strings.
Severity
UserDocNotice

Type Aliases§

Contracts
file -> (contract name -> Contract)
FileToContractsMap
Solidity files are made up of multiple source units, a solidity contract is such a source unit, therefore a solidity file can contain multiple contracts: (1-N*) relationship.
Sources
An ordered list of files and their source