Expand description
Meta crate reexporting all artifacts types.
Re-exports§
pub use foundry_compilers_artifacts_solc as solc;pub use foundry_compilers_artifacts_vyper as vyper;
Modules§
- ast
 - Bindings for the Solidity and Yul ASTs.
 - bytecode
 - Bytecode related types.
 - configurable
 - contract
 - Contract related types.
 - error
 - hh
 - Hardhat support
 - output_
selection  - Bindings for standard json output selection.
 - remappings
 - serde_
helpers  - Serde helpers.
 - sourcemap
 - sources
 
Structs§
- Array
Type Name  - An array type name.
 - Assignment
 - An assignment expression.
 - Ast
 - Represents the AST field in the solc output
 - Binary
Operation  - A binary operation.
 - Block
 - A block of statements.
 - Break
 - The break keyword.
 - Bytecode
 - Compact
Bytecode  - Compact
Contract  - The general purpose minimal representation of a contract’s abi with bytecode
Unlike 
CompactContractSomeall fields are optional so that every possible compiler output can be represented by it - Compact
Contract Bytecode  - Minimal representation of a contract with a present abi and bytecode.
 - Compact
Contract Bytecode Cow  - A CompactContractBytecode that is either owns or borrows its content
 - Compact
Contract Ref  - Helper type to serialize while borrowing from 
Contract - Compact
Contract RefSome  - Minimal representation of a contract with a present abi and bytecode that borrows.
 - Compact
Contract Some  - Minimal representation of a contract’s artifact with a present abi and bytecode.
 - Compact
Deployed Bytecode  - Compiler
 - Compiler
Output  - Output type 
solcproduces - Conditional
 - A conditional expression.
 - Configurable
Contract Artifact  - Represents the 
ArtifactthatConfigurableArtifactsemits. - Continue
 - The continue keyword.
 - Contract
 - Represents a compiled solidity contract
 - Contract
Bytecode  - Minimal representation of a contract with a present abi and bytecode.
 - Contract
Bytecode Some  - Minimal representation of a contract with a present abi and bytecode.
 - Contract
Definition  - A contract definition.
 - Creation
 - Debugging
Settings  - Debugging settings for solc
 - Deployed
Bytecode  - DevDoc
 - DoWhile
Statement  - A do while statement.
 - Doc
 - DocLibraries
 - Elementary
Type Name  - Elementary
Type Name Expression  - Emit
Statement  - An emit statement.
 - Enum
Definition  - An enum definition.
 - Enum
Value  - An enum value.
 - Error
 - Error
Definition  - A custom error definition.
 - Error
Doc  - Event
Definition  - An event definition.
 - Event
Doc  - Evm
 - Ewasm
 - Expression
Statement  - An expression statement.
 - External
Inline Assembly Reference  - A reference to an external variable or slot in an inline assembly block.
 - ForStatement
 - A for statement.
 - Function
Call  - A function call expression.
 - Function
Call Options  - A function call options expression (e.g. 
x.f{gas: 1}). - Function
Debug Data  - Function
Definition  - A function definition.
 - Function
Identifier Path  - A wrapper around IdentifierPath for the UsingForDirective.
 - Function
Type Name  - A function type name.
 - GasEstimates
 - Generated
Source  - Identifier
 - An identifier.
 - Identifier
Path  - An identifier path.
 - IfStatement
 - An if statement.
 - Import
Directive  - An import directive.
 - Index
Access  - An index access.
 - Index
Range Access  - An index range access.
 - Inheritance
Specifier  - An inheritance specifier.
 - Inline
Assembly  - A block of inline assembly.
 - Item
 - Libraries
 - A wrapper type for all libraries in the form of 
<file>:<lib>:<addr> - Literal
 - A literal value.
 - 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
 - LowFidelity
Source Location  - Represents the source location of a node: 
<start byte>:<length>:<source index>. - Mapping
 - A mapping type.
 - Member
Access  - Member access.
 - Metadata
 - Bindings for 
solccontract 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
 - Modifier
Definition  - A modifier definition.
 - Modifier
Invocation  - A modifier or base constructor invocation.
 - NewExpression
 - A 
newexpression. - Node
 - 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 
Contractstype alias - Overloaded
Operator  - Override
Specifier  - An override specifier.
 - Parameter
List  - A parameter list.
 - Placeholder
Statement  - A placeholder statement (
_) - Pragma
Directive  - A pragma directive.
 - Relative
Remapping  - A relative 
Remappingthat’s aware of the current location - Relative
Remapping Path Buf  - The path part of the 
Remappingthat knows the path of the file it was configured in, if any. - Remapping
 - The solidity compiler can only reference files that exist locally on your computer. So importing directly from GitHub (as an example) is not possible.
 - Return
 - A return statement.
 - Revert
Statement  - A revert statement.
 - Secondary
Source Location  - Settings
 - Settings
Metadata  - SolcAbi
 - Solc
Input  - Input type 
solcexpects. - Source
 - Content of a solidity file
 - Source
File  - Source
Files  - A wrapper type for a list of source files: 
path -> SourceFile. - Source
Unit  - The root node of a Solidity AST.
 - Sources
 - An ordered list of files and their source.
 - Standard
Json Compiler Input  - A 
CompilerInputrepresentation used for verify - Storage
 - Storage
Layout  - Represents the 
storage-layoutsection of theCompilerOutputif selected. - Storage
Type  - Struct
Definition  - A struct definition.
 - Structured
Documentation  - Structured documentation (NatSpec).
 - Symbol
Alias  - A symbol alias.
 - TryCatch
Clause  - A try/catch clause.
 - TryStatement
 - A try/catch statement.
 - Tuple
Expression  - A tuple expression.
 - Type
Descriptions  - A type description.
 - Unary
Operation  - A unary operation.
 - Unchecked
Block  - An unchecked block.
 - User
Defined Type Name  - A user defined type name.
 - User
Defined Value Type Definition  - A user defined value type definition.
 - UserDoc
 - Using
ForDirective  - A using for directive.
 - Variable
Declaration  - A variable declaration.
 - Variable
Declaration Statement  - A variable declaration statement.
 - While
Statement  - A while statement.
 - YulDetails
 
Enums§
- Assembly
Reference Suffix  - An assembly reference suffix.
 - Assignment
Operator  - Assignment operators.
 - Binary
Operator  - Binary operators.
 - Block
OrStatement  - Bytecode
Hash  - Determines the hash method for the metadata hash that is appended to the bytecode.
 - Bytecode
Object  - Represents the bytecode of a contracts that might be not fully linked yet.
 - Contract
Definition Part  - Contract
Kind  - All Solidity contract kinds.
 - Documentation
 - Elementary
OrRaw Type Name  - EofVersion
 - Available EOF versions.
 - EvmVersion
 - EVM versions.
 - Expression
 - Expression
OrVariable Declaration Statement  - Function
Call Kind  - Function call kinds.
 - Function
Kind  - Function kinds.
 - Identifier
OrIdentifier Path  - Inline
Assembly Flag  - Inline assembly flags.
 - Literal
Kind  - Literal kinds.
 - 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.
 - Modifier
Invocation Kind  - Modifier invocation kinds.
 - Mutability
 - Variable mutability specifier.
 - Node
Type  - Remapping
Error  - Revert
Strings  - How to treat revert (and require) reason strings.
 - Severity
 - The severity of the error.
 - Solc
Language  - Languages supported by the Solc compiler.
 - Source
Compilation Kind  - Represents the state of a filtered 
Source. - Source
Unit Part  - State
Mutability  - Function mutability specifier.
 - Statement
 - Storage
Location  - Storage location specifier.
 - Type
Name  - Unary
Operator  - Unary operators.
 - User
Defined Type Name OrIdentifier Path  - User
DocNotice  - Using
ForFunction Item  - Visibility
 - Visibility specifier.
 
Constants§
Functions§
- deserialize_
bytes  - deserialize_
opt_ bytes  - serialize_
bytecode_ without_ prefix  - This will serialize the bytecode data without a 
0xprefix, which theethers::types::Bytesadds by default. 
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.