cast create2

Generate a deterministic contract address using CREATE2

$ cast create2 --help
Usage: cast create2 [OPTIONS]

Options:
  -s, --starts-with <HEX>
          Prefix for the contract address

  -e, --ends-with <HEX>
          Suffix for the contract address

  -m, --matching <HEX>
          Sequence that the address has to match

  -c, --case-sensitive
          Case sensitive matching

  -d, --deployer <ADDRESS>
          Address of the contract deployer
          
          [default: 0x4e59b44847b379578588920ca78fbf26c0b4956c]

      --salt <HEX>
          Salt to be used for the contract deployment. This option separate from
          the default salt mining with filters

  -i, --init-code <HEX>
          Init code of the contract to be deployed

      --init-code-hash <HASH>
          Init code hash of the contract to be deployed

  -j, --threads <THREADS>
          Number of threads to use. Specifying 0 defaults to the number of
          logical cores
          
          [aliases: jobs]

      --caller <ADDRESS>
          Address of the caller. Used for the first 20 bytes of the salt

      --seed <HEX>
          The random number generator's seed, used to initialize the salt

      --no-random
          Don't initialize the salt with a random value, and instead use the
          default value of 0

  -h, --help
          Print help (see a summary with '-h')

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.