> ## 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: Release addresses

> Release addresses: the declaration and description of each of the 14 exports of @eco-incorp/sauce/deployments.

The addresses of the releases this SDK pins, and which engine runs which compiler's output. `v12EngineAddress()`, `v12KitchenAddress()`, `v12RouterAddress()`, `v12SvmEngineProgramId()` and `v12SvmKitchenProgramId()` return deterministic addresses, the same on every chain; a recorded address does not show that a chain has the deployment, so read the chain before relying on it. The addresses are listed on [Deployments](https://docs.eco.com/sauce-sdk/reference/deployments.md).

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

Generated from the type declarations of `@eco-incorp/sauce`.

### `v12DeployedAddresses`

*Function* · `@eco-incorp/sauce/deployments`

The assembled release-address record.

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

### `V12EvmContractRef`

*Interface* · `@eco-incorp/sauce/deployments`

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

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

### `V12PotDerivation`

*Interface* · `@eco-incorp/sauce/deployments`

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* · `@eco-incorp/sauce/deployments`

One SVM program as the release records it.

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

### `V12DeployedAddresses`

*Interface* · `@eco-incorp/sauce/deployments`

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

```typescript theme={null}
export interface V12DeployedAddresses {
    compiler: string;
    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;
            quoteRouter: V12EvmContractRef;
            kitchen: V12EvmContractRef;
            kitchenImplementation: V12EvmContractRef;
        };
        pot: V12PotDerivation;
    };
    svm: {
        clusterIndependent: true;
        programs: {
            engine: V12SvmProgramRef;
            kitchen: V12SvmProgramRef;
        };
    };
}
```

### `v12DeployedVersion`

*Variable* · `@eco-incorp/sauce/deployments`

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

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

### `v12EngineAddress`

*Variable* · `@eco-incorp/sauce/deployments`

The current EVM engine (interpreter runtime) address.

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

### `v12RouterAddress`

*Variable* · `@eco-incorp/sauce/deployments`

The current EVM Router address.

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

### `v12QuoteRouterAddress`

*Variable* · `@eco-incorp/sauce/deployments`

Generation-3 quote service, independent of the content-addressed execution Router.

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

### `v12KitchenAddress`

*Variable* · `@eco-incorp/sauce/deployments`

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

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

### `v12KitchenImplementationAddress`

*Variable* · `@eco-incorp/sauce/deployments`

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

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

### `v12PotDerivation`

*Variable* · `@eco-incorp/sauce/deployments`

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

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

### `v12SvmEngineProgramId`

*Variable* · `@eco-incorp/sauce/deployments`

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

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

### `v12SvmKitchenProgramId`

*Variable* · `@eco-incorp/sauce/deployments`

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

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.