> Aztec.nr API reference, v6.0.0 (mainnet and testnet). Index: https://docs.aztec.network/aztec-nr-api/v6.0.0/llms.txt

# Struct DeployOptions

Module: `noir_aztec::test::helpers::test_environment`

```rust
pub struct DeployOptions
{ /* private fields */ }
```

Configuration values for [`TestEnvironment::deploy_opts`](/aztec-nr-api/v6.0.0/noir_aztec/test/helpers/test_environment/struct.TestEnvironment.md#deploy_opts). Meant to be used by calling `new` and then chaining methods setting each value, e.g.:

```rust
env.deploy_opts(DeployOptions::new().with_salt(42).with_secret(100), "MyContract").without_initializer();
```

## Implementations

```rust
impl DeployOptions
```

```rust
pub fn new() -> Self
```

Creates a new `DeployOptions` with default values.

Equivalent to using `deploy` instead of `deploy_opts`. Use the `with_salt`, `with_secret` and `with_immutables_hash` methods to set the desired configuration values.

```rust
pub fn with_salt(&mut self, salt: Field) -> Self
```

Sets the deployment salt. The salt affects the resulting contract address: the same contract deployed with different salts will have different addresses.

```rust
pub fn with_secret(&mut self, secret: Field) -> Self
```

Sets the secret used for key derivation. The secret affects the contract's public keys and therefore its address: the same contract deployed with different secrets will have different addresses.

```rust
pub fn with_immutables_hash(&mut self, immutables_hash: Field) -> Self
```

Sets the instance's immutables hash. The immutables hash affects the resulting contract address: the same contract deployed with different immutables hashes will have different addresses.
