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
CompactContractSome
all 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
solc
produces - Conditional
- A conditional expression.
- Configurable
Contract Artifact - Represents the
Artifact
thatConfigurableArtifacts
emits. - 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
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
- Modifier
Definition - A modifier definition.
- Modifier
Invocation - A modifier or base constructor invocation.
- NewExpression
- A
new
expression. - 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
Contracts
type 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
Remapping
that’s aware of the current location - Relative
Remapping Path Buf - The path part of the
Remapping
that 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
solc
expects. - 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
CompilerInput
representation used for verify - Storage
- Storage
Layout - Represents the
storage-layout
section of theCompilerOutput
if 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
0x
prefix, which theethers::types::Bytes
adds 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.