forge inspect
NAME
forge-inspect - Get specialized information about a smart contract
SYNOPSIS
forge inspect [options] contract_name field
DESCRIPTION
Get specialized information about a smart contract.
The field to inspect (field) can be any of:
- abi
- b/- bytes/- bytecode
- deployedBytecode/- deployed_bytecode/- deployed-bytecode/- deployedbytecode/- deployed
- assembly/- asm
- asmOptimized/- assemblyOptimized/- assemblyoptimized/- assembly_optimized/- asmopt/- assembly-optimized/- asmo/- asm-optimized/- asmoptimized/- asm_optimized
- methods/- methodidentifiers/- methodIdentifiers/- method_identifiers/- method-identifiers/- mi
- gasEstimates/- gas/- gas_estimates/- gas-estimates/- gasestimates
- storageLayout/- storage_layout/- storage-layout/- storagelayout/- storage
- devdoc/- dev-doc/- devDoc
- ir
- ir-optimized/- irOptimized/- iroptimized/- iro/- iropt
- metadata/- meta
- userdoc/- userDoc/- user-doc
- ewasm/- e-wasm
OPTIONS
--pretty
    Pretty print the selected field, if supported.
Cache Options
--force
    Clear the cache and artifacts folder and recompile.
Linker Options
--libraries libraries
    Set pre-linked libraries.
    The parameter must be in the format <remapped path to lib>:<library name>:<address>, e.g. src/Contract.sol:Library:0x....
    Can also be set in your configuration file as libraries = ["<path>:<lib name>:<address>"].
Compiler Options
--optimize
    Activate the Solidity optimizer.
--optimizer-runs runs
    The number of optimizer runs.
--via-ir
    Use the Yul intermediate representation compilation pipeline.
--revert-strings
    How to treat revert and require reason strings.
--use solc_version
    Specify the solc version, or a path to a local solc, to build with.
    Valid values are in the format x.y.z, solc:x.y.z or path/to/solc.
--offline
    Do not access the network. Missing solc versions will not be installed.
--no-auto-detect
    Do not auto-detect solc.
--ignored-error-codes error_codes
    Ignore solc warnings by error code. The parameter is a comma-separated list of error codes.
--extra-output selector
    Extra output to include in the contract's artifact.
    Example keys: abi, storageLayout, evm.assembly, ewasm, ir, ir-optimized, metadata.
For a full description, see the Solidity docs.
--extra-output-files selector
    Extra output to write to separate files.
    Example keys: abi, storageLayout, evm.assembly, ewasm, ir, ir-optimized, metadata.
For a full description, see the Solidity docs.
--evm-version version
    The target EVM version.
Project Options
--build-info
    Generate build info files.
--build-info-path path
    Output path to directory that build info files will be written to.
--root path
    The project's root path. By default, this is the root directory of the current git repository, or the current working directory.
-C path
--contracts path
    The contracts source directory.
    Environment: DAPP_SRC
--lib-paths path
    The path to the library folder.
-R remappings
--remappings remappings
    The project's remappings.
    The parameter is a comma-separated list of remappings in the format <source>=<dest>.
--cache-path path
    The path to the compiler cache.
--config-path file
    Path to the config file.
--hh
--hardhat
    This is a convenience flag, and is the same as passing --contracts contracts --lib-paths node-modules.
-o path
--out path
    The project's artifacts directory.
--silent
    Suppress all output.
Common Options
-h
--help
    Prints help information.
EXAMPLES
- 
Inspect the bytecode of a contract: forge inspect MyContract bytecode
- 
Inspect the storage layout of a contract: forge inspect MyContract storage