> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# deployments: Current release addresses

> Current release addresses: 13 exports of the deployments module of @eco-incorp/sauce, including v12DeployedAddresses, V12EvmContractRef, V12PotDerivation, V12SvmProgramRef, V12DeployedAddresses, v12DeployedVersion.

Two sources live here: the current release addresses assembled from each release's `addresses.json` (`v12EngineAddress()`, `v12KitchenAddress()`, `v12SvmEngineProgramId()`), and a legacy per-chain roster that records an older deployment and does not attest liveness of the pinned release. `V12_EVM_CONTRACTS` and `v12SvmProgramId` are legacy addresses. Check deployed code on the target chain before use.

```typescript theme={null}
import { v12EngineAddress, isV12Live } from "@eco-incorp/sauce/deployments";
```

This page covers `sdk/dist/deployments/v12-addresses.d.ts`.

<Note>
  Generated from the type declarations shipped in `@eco-incorp/sauce` 0.99.4. Each entry shows the package authors' JSDoc and declaration for this SDK version. For runtime compatibility and deployed addresses, see [architecture and deployments](/programmable-transactions/sauce/architecture-and-deployments).
</Note>

### `v12DeployedAddresses`

*Function* · `sdk/dist/deployments/v12-addresses.d.ts`

The assembled release-address record. Read lazily and memoized, so importing this module never
throws - only calling it without a synced artifact does, with a remedy in the message.

```typescript theme={null}
export declare function v12DeployedAddresses(): V12DeployedAddresses;
```

### `V12EvmContractRef`

*Interface* · `sdk/dist/deployments/v12-addresses.d.ts`

One EVM contract as the release records it: the address plus its CREATE3 derivation metadata.

```typescript theme={null}
export interface V12EvmContractRef {
    address: string;
    saltName?: string;
    rawSalt?: string;
    guardedSalt?: string;
    derivation?: string;
    proxyKind?: string;
    generation?: number;
    note?: string;
}
```

### `V12PotDerivation`

*Interface* · `sdk/dist/deployments/v12-addresses.d.ts`

How a Pot address is derived - `CREATE2(kitchen, keccak256(abi.encode(owner, salt)), initCodeHash)`.

```typescript theme={null}
export interface V12PotDerivation {
    deployer: string;
    initCodeHash: string;
    saltFormula: string;
    derivation?: string;
}
```

### `V12SvmProgramRef`

*Interface* · `sdk/dist/deployments/v12-addresses.d.ts`

One SVM program as the release records it.

```typescript theme={null}
export interface V12SvmProgramRef {
    programId: string;
    label?: string;
    derivation?: string;
    upgradeAuthority?: string;
}
```

### `V12DeployedAddresses`

*Interface* · `sdk/dist/deployments/v12-addresses.d.ts`

The assembled `V12Deployments.json`: release addresses and per-component provenance.

```typescript theme={null}
export interface V12DeployedAddresses {
    version: string;
    commit: string;
    releases: Record<"v12-evm" | "kitchen-evm" | "v12-svm" | "kitchen-svm", {
        version: string;
        commit: string;
    }>;
    evm: {
        chainIndependent: true;
        factory: string;
        deployer: string;
        contracts: {
            engine: V12EvmContractRef;
            router: V12EvmContractRef;
            kitchen: V12EvmContractRef;
            kitchenImplementation: V12EvmContractRef;
        };
        pot: V12PotDerivation;
    };
    svm: {
        clusterIndependent: true;
        programs: {
            engine: V12SvmProgramRef;
            kitchen: V12SvmProgramRef;
        };
    };
}
```

### `v12DeployedVersion`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

Legacy EVM Kitchen version. Engine versions are in `v12DeployedAddresses().releases`.

```typescript theme={null}
v12DeployedVersion: () => string
```

### `v12EngineAddress`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

The current EVM engine (interpreter runtime) address.

```typescript theme={null}
v12EngineAddress: () => string
```

### `v12RouterAddress`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

The current EVM Router address.

```typescript theme={null}
v12RouterAddress: () => string
```

### `v12KitchenAddress`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

The current EVM Kitchen (UUPS proxy) address - mints Pots and gates every cook.

```typescript theme={null}
v12KitchenAddress: () => string
```

### `v12KitchenImplementationAddress`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

The current EVM Kitchen implementation address (behind the proxy).

```typescript theme={null}
v12KitchenImplementationAddress: () => string
```

### `v12PotDerivation`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

How a Pot address is derived from `(owner, salt)` under the current Kitchen.

```typescript theme={null}
v12PotDerivation: () => V12PotDerivation
```

### `v12SvmEngineProgramId`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

The current SVM engine program id - pass as `programId` to `createSauceSvmClient`.

```typescript theme={null}
v12SvmEngineProgramId: () => string
```

### `v12SvmKitchenProgramId`

*Variable* · `sdk/dist/deployments/v12-addresses.d.ts`

The current SVM Kitchen program id every cook is gated to.

```typescript theme={null}
v12SvmKitchenProgramId: () => string
```
