pub fn for_deploy(
        salt: H256,
        contract_bytecode: Vec<u8>,
        constructor_input: &[ethabi::Token],
    ) -> Self {
        let bytecode_hash = BytecodeHash::for_bytecode(&contract_bytecode).value();
        Self {
            contract_address: Some(CONTRACT_DEPLOYER_ADDRESS),
            calldata: Self::encode_deploy_params_create(
                salt,
                bytecode_hash,
                ethabi::encode(constructor_input),
            ),
            value: 0.into(),
            factory_deps: vec![contract_bytecode],
        }
    }
Creates an instance for deploying the specified bytecode without additional dependencies. If necessary,
additional deps can be added to `Self.factory_deps` after this call.
core/lib/types/src/tx/execute.rs