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§
- Bindings for the Solidity and Yul ASTs.
- Bytecode related types.
- Contract related types.
- Hardhat support
- Bindings for standard json output selection.
- Serde helpers.
Structs§
- An array type name.
- An assignment expression.
- Represents the AST field in the solc output
- A binary operation.
- A block of statements.
- The break keyword.
- 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 - Minimal representation of a contract with a present abi and bytecode.
- A CompactContractBytecode that is either owns or borrows its content
- Helper type to serialize while borrowing from
Contract
- Minimal representation of a contract with a present abi and bytecode that borrows.
- Minimal representation of a contract’s artifact with a present abi and bytecode.
- Output type
solc
produces - A conditional expression.
- Represents the
Artifact
thatConfigurableArtifacts
emits. - The continue keyword.
- Represents a compiled solidity contract
- Minimal representation of a contract with a present abi and bytecode.
- Minimal representation of a contract with a present abi and bytecode.
- A contract definition.
- Debugging settings for solc
- A do while statement.
- An emit statement.
- An enum definition.
- An enum value.
- A custom error definition.
- An event definition.
- An expression statement.
- A reference to an external variable or slot in an inline assembly block.
- A for statement.
- A function call expression.
- A function call options expression (e.g.
x.f{gas: 1}
). - A function definition.
- A wrapper around IdentifierPath for the UsingForDirective.
- A function type name.
- An identifier.
- An identifier path.
- An if statement.
- An import directive.
- An index access.
- An index range access.
- An inheritance specifier.
- A block of inline assembly.
- A wrapper type for all libraries in the form of
<file>:<lib>:<addr>
- A literal value.
- A helper type that ensures lossless (de)serialisation so we can preserve the exact String metadata value that’s being hashed by solc
- Represents the source location of a node:
<start byte>:<length>:<source index>
. - A mapping type.
- Member access.
- Bindings for
solc
contract metadata - Compiler settings
- Compilation source files/source units, keys are file names
- Model checker settings for solc
- A modifier definition.
- A modifier or base constructor invocation.
- A
new
expression. - Byte offsets into the bytecode. Linking replaces the 20 bytes located there.
- A wrapper helper type for the
Contracts
type alias - An override specifier.
- A parameter list.
- A placeholder statement (
_
) - A pragma directive.
- A relative
Remapping
that’s aware of the current location - The path part of the
Remapping
that knows the path of the file it was configured in, if any. - The solidity compiler can only reference files that exist locally on your computer. So importing directly from GitHub (as an example) is not possible.
- A return statement.
- A revert statement.
- Input type
solc
expects. - Content of a solidity file
- A wrapper type for a list of source files:
path -> SourceFile
. - The root node of a Solidity AST.
- An ordered list of files and their source.
- A
CompilerInput
representation used for verify - Represents the
storage-layout
section of theCompilerOutput
if selected. - A struct definition.
- Structured documentation (NatSpec).
- A symbol alias.
- A try/catch clause.
- A try/catch statement.
- A tuple expression.
- A type description.
- A unary operation.
- An unchecked block.
- A user defined type name.
- A user defined value type definition.
- A using for directive.
- A variable declaration.
- A variable declaration statement.
- A while statement.
Enums§
- An assembly reference suffix.
- Assignment operators.
- Binary operators.
- Determines the hash method for the metadata hash that is appended to the bytecode.
- Represents the bytecode of a contracts that might be not fully linked yet.
- All Solidity contract kinds.
- Available EOF versions.
- EVM versions.
- Function call kinds.
- Function kinds.
- Inline assembly flags.
- Literal kinds.
- Which model checker engine to run.
- Which model checker invariants to check.
- Which model checker solvers to check.
- Which model checker targets to check.
- Modifier invocation kinds.
- Variable mutability specifier.
- How to treat revert (and require) reason strings.
- The severity of the error.
- Languages supported by the Solc compiler.
- Represents the state of a filtered
Source
. - Function mutability specifier.
- Storage location specifier.
- Unary operators.
- Visibility specifier.
Constants§
Functions§
- This will serialize the bytecode data without a
0x
prefix, which theethers::types::Bytes
adds by default.
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.