EXAMPLES
Just adds zeros to the hex string on the right, until it is 32 bytes (hex can be with or without 0x):
cast to-bytes32 0x1
0x1000000000000000000000000000000000000000000000000000000000000000
It needs to be a hex string, it won't work with normal strings, e.g. it will work with '1234abc' but won't work with '1234xyz':
cast to-bytes32 1234abc
0x1234abc000000000000000000000000000000000000000000000000000000000
Often used to right pad zeros to addresses, for example when the address needs to be 32 bytes:
cast to-bytes32 0xbd20e68967fc2a813356bff4754bba48692d8e0d
0xbd20e68967fc2a813356bff4754bba48692d8e0d000000000000000000000000
DOCUMENTATION
cast to-bytes32
Right-pads hex data to 32 bytes
$ cast to-bytes32 --help
Usage: cast to-bytes32 [OPTIONS] [BYTES]
Arguments:
[BYTES]
The hex data to convert
Options:
-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.