Fast, utilitarian, and verbose Solidity REPL Usage: chisel [OPTIONS] [COMMAND] Commands: list List all cached sessions load Load a cached session view View the source of a cached session without restoring RPC credentials or compiling it clear-cache Clear all cached chisel sessions from the cache directory eval Simple evaluation of a command without entering the REPL help Print this message or the help of the given subcommand(s) Options: -j, --threads Number of threads to use. Specifying 0 defaults to the number of logical cores [alias: --jobs] --profile The configuration profile to use -h, --help Print help (see a summary with '-h') -V, --version Print version Display options: -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 and backtraces with line numbers. -q, --quiet Do not print log messages --json Format log messages as JSON --md Format log messages as Markdown --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 REPL options: --prelude Path to a directory containing Solidity files to import, or path to a single Solidity file. These files will be evaluated before the top-level of the REPL, therefore functioning as a prelude --no-vm Disable the default `Vm` import. The import is disabled by default if the Solc version is less than 0.6.2. --ir-minimum Enable viaIR with minimum optimization This can fix most of the "stack too deep" errors while resulting a relatively accurate source map. Cache options: --force Clear the cache and artifacts folder and recompile Build options: --no-cache Disable the cache --no-dynamic-test-linking Disable dynamic test linking --skip ... Skip building files whose names contain the given filter. `test` and `script` are aliases for `.t.sol` and `.s.sol`. Linker options: --disallow-linked-libraries Reject contracts that depend on externally linked Solidity libraries. Internal libraries and dynamic test linking remain available. Overrides `allow_linked_libraries` in configuration and environment variables. --libraries Set pre-linked libraries [env: DAPP_LIBRARIES=] Compiler options: --ignored-error-codes Ignore solc warnings by error code -D, --deny A compiler error will be triggered at the specified diagnostic level. Replaces the deprecated `--deny-warnings` flag. Possible values: - `never`: Do not treat any diagnostics as errors. - `warnings`: Treat warnings as errors. - `notes`: Treat both, warnings and notes, as errors. Possible values: - never: Always exit with zero code - warnings: Exit with a non-zero code if any warnings are found - notes: Exit with a non-zero code if any notes or warnings are found --no-auto-detect Do not auto-detect the `solc` version --use Specify the solc version, path, or executable name on `PATH` to build with. Valid values are in the format `x.y.z`, `solc:x.y.z`, `path/to/solc`, or `solc`. --offline Do not access the network. Missing solc versions will not be installed. --use-literal-content Changes compilation to only use literal content and not URLs --no-metadata Do not append any metadata to the bytecode. This is equivalent to setting `bytecode_hash` to `none` and `cbor_metadata` to `false`. --ast Includes the AST as JSON in the compiler output --evm-version The target EVM version --optimize [] Activate the Solidity optimizer [possible values: true, false] --optimizer-runs The number of runs specifies roughly how often each opcode of the deployed code will be executed across the life-time of the contract. This means it is a trade-off parameter between code size (deploy cost) and code execution cost (cost after deployment). An `optimizer_runs` parameter of `1` will produce short but expensive code. In contrast, a larger `optimizer_runs` parameter will produce longer but more gas efficient code --via-ir Use the Yul intermediate representation compilation pipeline --via-ssa-cfg Turn on SSA CFG-based code generation via the IR (experimental). This passes `--via-ssa-cfg` to solc. Implies `--via-ir`. Requires `--experimental` to be set (as of Solidity 0.8.35+). This is false by default. --experimental Enable Solidity's experimental mode. This passes `--experimental` to solc, which is required by Solidity 0.8.35+ for experimental features. --extra-output ... Extra output to include in the contract's artifact. Example keys: evm.assembly, ewasm, ir, irOptimized, metadata For a full description, see --extra-output-files ... Extra output to write to separate files. Valid values: metadata, ir, irOptimized, ewasm, evm.assembly Project options: -o, --out The path to the contract artifacts folder --revert-strings Revert string configuration. Possible values are "default", "strip" (remove), "debug" (Solidity-generated revert strings) and "verboseDebug" --build-info Generate build info files --build-info-path Output path to directory that build info files will be written to --root The project's root path. By default root of the Git repository, if in one, or the current working directory. -C, --contracts The contracts source directory -R, --remappings The project's remappings --remappings-env The project's remappings from the environment --cache-path The path to the compiler cache --lib-paths The path to the library folder --hardhat Use the Hardhat-style project layout. This is the same as using: `--contracts contracts --lib-paths node_modules`. [alias: --hh] --config-path Path to the config file. The project root is the config file's parent directory. EVM options: -r, --rpc-url The RPC endpoint [alias: --fork-url] -k, --insecure Allow insecure RPC connections (accept invalid HTTPS certificates). When the provider's inner runtime transport variant is HTTP, this configures the reqwest client to accept invalid certificates. --rpc-timeout Timeout for the RPC request in seconds. The specified timeout will be used to override the default timeout for RPC requests. Default value: 45 [env: ETH_RPC_TIMEOUT=] --no-proxy Disable automatic proxy detection. Use this in sandboxed environments (e.g., Cursor IDE sandbox, macOS App Sandbox) where system proxy detection causes crashes. When enabled, HTTP_PROXY/HTTPS_PROXY environment variables and system proxy settings will be ignored. --compute-units-per-second Sets the number of assumed available compute units per second for this provider. default value: 330 See also --no-rpc-rate-limit Disables rate limiting for this node's provider. See also [alias: --no-rate-limit] --fork-block-number Fetch state from a specific block number over a remote endpoint. See --rpc-url. --fork-state-by-number Fetch fork state by block number instead of hash. Use for RPC endpoints that cannot serve state by block hash. Number-based reads cannot guarantee a consistent snapshot if the remote chain reorganizes and do not use the disk state cache. Transaction replay still requires hash-addressed state. --fork-retries Number of retries. See --rpc-url. --fork-retry-backoff Initial retry backoff on encountering errors. See --rpc-url. --no-storage-caching Explicitly disables the use of RPC caching. All storage slots are read entirely from the endpoint. This flag overrides the project's configuration file. See --rpc-url. --no-fork-bal Disable parent-block BAL cache prewarming for transaction-hash fork cheatcodes. Preceding transactions are still replayed when prewarming is enabled. --fork-prefetch Prefetch a new fork block's cache from the keys of an older cached block on the same chain. Helps forks of `latest`, which start with an empty cache on each new head. --initial-balance The initial balance of deployed test contracts --sender
The address which will be executing tests/scripts --ffi Enable the FFI cheatcode --live-logs Whether to show `console.log` outputs in realtime during script/test execution --always-use-create-2-factory Use the create 2 factory in all cases including tests and non-broadcasting scripts --create2-deployer
The CREATE2 deployer address to use, this will override the one in the config Executor environment config: --code-size-limit EIP-170: Contract code size limit in bytes. Useful to increase this because of tests. By default, it is 0x6000 (~25kb) --chain The chain name or EIP-155 chain ID [alias: --chain-id] --gas-price The gas price --block-base-fee-per-gas The base fee in a block [alias: --base-fee] --tx-origin
The transaction origin --block-coinbase
The coinbase of the block --block-timestamp The timestamp of the block --block-number The block number --block-difficulty The block difficulty --block-prevrandao The block prevrandao value. NOTE: Before merge this field was mix_hash --block-gas-limit The block gas limit [alias: --gas-limit] --memory-limit The memory limit per EVM execution in bytes. If this limit is exceeded, a `MemoryLimitOOG` result is thrown. The default is 128MiB. --disable-block-gas-limit Whether to disable the block gas limit checks [aliases: --no-block-gas-limit, --no-gas-limit] --enable-tx-gas-limit Whether to enable tx gas limit checks as imposed by Osaka (EIP-7825) [alias: --tx-gas-limit] --isolate Whether to enable isolation of calls. In isolation mode all top-level calls are executed as a separate transaction in a separate EVM context, enabling more precise gas accounting and transaction state changes --no-isolate Whether to disable isolation of calls --hardfork The runtime EVM hardfork to use. Network-specific hardforks must be namespaced, for example `tempo:T5`. Networks: -n, --network Enable a specific network family [possible values: ethereum, optimism, tempo, monad] --celo Enable Celo network features