forge clone
Clone a contract from Etherscan
$ forge clone --help
Usage: forge clone [OPTIONS] <ADDRESS> [PATH]
Arguments:
<ADDRESS>
The contract address to clone
[PATH]
The root directory of the cloned project
[default: .]
Options:
--no-remappings-txt
Do not generate the remappings.txt file. Instead, keep the remappings
in the configuration
--keep-directory-structure
Keep the original directory structure collected from Etherscan.
If this flag is set, the directory structure of the cloned project
will be kept as is. By default, the directory structure is re-orgnized
to increase the readability, but may risk some compilation failures.
-e, --etherscan-api-key <KEY>
The Etherscan (or equivalent) API key
[env: ETHERSCAN_API_KEY=]
-c, --chain <CHAIN>
The chain name or EIP-155 chain ID
[env: CHAIN=]
--shallow
Perform shallow clones instead of deep ones.
Improves performance and reduces disk usage, but prevents switching
branches or tags.
--no-git
Install without adding the dependency as a submodule
--no-commit
Do not create a commit
-h, --help
Print help (see a summary with '-h')
-j, --threads <THREADS>
Number of threads to use. Specifying 0 defaults to the number of
logical cores
[aliases: jobs]
Display options:
--color <COLOR>
The color of the log messages
Possible values:
- auto: Intelligently guess whether to use color output (default)
- always: Force color output
- never: Force disable color output
--json
Format log messages as JSON
-q, --quiet
Do not print log messages
-v, --verbosity...
Verbosity level of the log messages.
Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv).
Depending on the context the verbosity levels have different meanings.
For example, the verbosity levels of the EVM are:
- 2 (-vv): Print logs for all tests.
- 3 (-vvv): Print execution traces for failing tests.
- 4 (-vvvv): Print execution traces for all tests, and setup traces
for failing tests.
- 5 (-vvvvv): Print execution and setup traces for all tests,
including storage changes.