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

# Struct ContractInstanceRegistry

Module: `contract_instance_registry_interface::ContractInstanceRegistry`

```rust
pub struct ContractInstanceRegistry {
    pub target_contract: AztecAddress,
}
```

## Fields

```rust
target_contract: AztecAddress
```

## Implementations

```rust
impl ContractInstanceRegistry
```

```rust
pub fn at(addr: AztecAddress) -> Self
```

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

```rust
pub fn publish_for_public_execution(
    self,
    salt: Field,
    contract_class_id: ContractClassId,
    initialization_hash: Field,
    immutables_hash: Field,
    public_keys: PublicKeys,
    universal_deploy: bool,
) -> PrivateCall<28, 12, ()>
```

```rust
pub fn update(self, new_contract_class_id: ContractClassId) -> PublicCall<6, 1, ()>
```

```rust
pub fn set_update_delay(self, new_update_delay: u64) -> PublicCall<16, 1, ()>
```

```rust
pub fn get_update_delay(self) -> PublicStaticCall<16, 0, u64>
```

```rust
pub fn offchain_receive(
    self,
    messages: BoundedVec<OffchainMessage, 16>,
) -> UtilityCall<16, 321, ()>
```
