> ## 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.

# svm venue: solayer

> The solayer Solana venue: the declaration and description of each of the 10 exports of @eco-incorp/sauce/svm.

Solana venue integration `solayer`, exported from `@eco-incorp/sauce/svm`.

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

### `SOLAYER_PROGRAM_ID`

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

```typescript theme={null}
SOLAYER_PROGRAM_ID: Address<"endoLNCKTqDn8gSVnN2hDdpgACUPWHZTwoYnnMybpAT">
```

### `SOLAYER_SSOL_MINT`

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

```typescript theme={null}
SOLAYER_SSOL_MINT: Address<"sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh">
```

### `ENDO_AVS_ACCOUNT_SIZE`

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

```typescript theme={null}
ENDO_AVS_ACCOUNT_SIZE = 443
```

### `ENDO_AVS_DISCRIMINATOR`

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

sha256('account:EndoAVS')\[0..8] - verified identical across all 20 live pool accounts.

```typescript theme={null}
ENDO_AVS_DISCRIMINATOR: number[]
```

### `DELEGATE_NO_INIT_DISCRIMINATOR`

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

sha256('global:delegate\_no\_init')\[0..8] - verified against a real mainnet instruction's leading bytes.

```typescript theme={null}
DELEGATE_NO_INIT_DISCRIMINATOR: number[]
```

### `UNDELEGATE_NO_INIT_DISCRIMINATOR`

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

sha256('global:undelegate\_no\_init')\[0..8] - verified against a real mainnet instruction's leading bytes.

```typescript theme={null}
UNDELEGATE_NO_INIT_DISCRIMINATOR: number[]
```

### `solayer`

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

The Solayer venue: delegates sSOL 1:1 into an AVS receipt token, and back.

```typescript theme={null}
solayer: {
    slug: string;
    programId: Address<"endoLNCKTqDn8gSVnN2hDdpgACUPWHZTwoYnnMybpAT">;
    tokenProgram: Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
    fetchPoolConfig: typeof fetchSolayerPoolConfig;
}
```

### `fetchSolayerPoolConfig`

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

Off-chain, once per pool: decode the EndoAVS account and gate its two mints. Read-only against the loader.

```typescript theme={null}
export declare function fetchSolayerPoolConfig(owned: OwnedAccountLoader, pool: Address): Promise<SolayerPoolConfig>;
```

### `SolayerDirection`

*Type* · `@eco-incorp/sauce/svm`

```typescript theme={null}
export type SolayerDirection = "delegate" | "undelegate";
```

### `SolayerPoolConfig`

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

```typescript theme={null}
export interface SolayerPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: SolayerDirection;
    authority: Address;
    receiptMint: Address;
    lstMint: Address;
    vault: Address;
    name: string;
}
```


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