EXAMPLES
ABI-encode the arguments for a call to someFunc(address,uint256):
cast abi-encode "someFunc(address,uint256)" 0xbd20e68967fc2a813356bff4754bba48692d8e0d 123
0x000000000000000000000000bd20e68967fc2a813356bff4754bba48692d8e0d000000000000000000000000000000000000000000000000000000000000007b
Parameters as a tuple:
cast abi-encode "someFunc((string,uint256))" "(myString,1)"
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000086d79537472696e67000000000000000000000000000000000000000000000000
DOCUMENTATION
cast abi-encode
ABI encode the given function argument, excluding the selector
$ cast abi-encode --help
Usage: cast abi-encode [OPTIONS] <SIG> [ARGS]...
Arguments:
<SIG>
The function signature
[ARGS]...
The arguments of the function
Options:
--packed
Whether to use packed encoding
-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.