> ## 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: manifest

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

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

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

### `fetchManifestConfig`

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

Fetch + gate one Manifest market (see the header for the gate list) and
freeze both directions' top-of-book order windows. Read-only against the
loader; the whole book is in this one account, so a quote needs no other
account.

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

### `MANIFEST_PROGRAM_ID`

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

```typescript theme={null}
MANIFEST_PROGRAM_ID: Address<"MNFSTqtC93rEfYHB6hF82sKdZpUDFWkViLByLd1k1Ms">
```

### `MARKET_FIXED_SIZE`

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

MarketFixed size - the dynamic RB-tree/free-list region begins here.

```typescript theme={null}
MARKET_FIXED_SIZE = 256
```

### `MARKET_DISCRIMINANT`

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

sha256-independent packed discriminant (u64 LE @0) - MARKET\_FIXED\_DISCRIMINANT.

```typescript theme={null}
MARKET_DISCRIMINANT = 4859840929024028656n
```

### `PRICE_D18`

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

Price is stored as QuoteAtomsPerBaseAtom.inner = price \* 1e18 (u128 LE).

```typescript theme={null}
PRICE_D18 = 1000000000000000000n
```

### `OFF_BASE_MINT_DECIMALS`

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

```typescript theme={null}
OFF_BASE_MINT_DECIMALS = 9
```

### `OFF_QUOTE_MINT_DECIMALS`

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

```typescript theme={null}
OFF_QUOTE_MINT_DECIMALS = 10
```

### `OFF_BIDS_ROOT`

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

```typescript theme={null}
OFF_BIDS_ROOT = 156
```

### `OFF_BIDS_BEST`

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

```typescript theme={null}
OFF_BIDS_BEST = 160
```

### `OFF_ASKS_ROOT`

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

```typescript theme={null}
OFF_ASKS_ROOT = 164
```

### `OFF_ASKS_BEST`

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

```typescript theme={null}
OFF_ASKS_BEST = 168
```

### `OFF_NODE_LEFT`

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

```typescript theme={null}
OFF_NODE_LEFT = 0
```

### `OFF_NODE_RIGHT`

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

```typescript theme={null}
OFF_NODE_RIGHT = 4
```

### `OFF_NODE_PARENT`

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

```typescript theme={null}
OFF_NODE_PARENT = 8
```

### `OFF_ORDER_PRICE`

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

```typescript theme={null}
OFF_ORDER_PRICE = 16
```

### `OFF_ORDER_SIZE`

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

```typescript theme={null}
OFF_ORDER_SIZE = 32
```

### `OFF_ORDER_SEQ`

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

```typescript theme={null}
OFF_ORDER_SEQ = 40
```

### `OFF_ORDER_LAST_VALID_SLOT`

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

```typescript theme={null}
OFF_ORDER_LAST_VALID_SLOT = 52
```

### `OFF_ORDER_IS_BID`

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

```typescript theme={null}
OFF_ORDER_IS_BID = 56
```

### `OFF_ORDER_TYPE`

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

```typescript theme={null}
OFF_ORDER_TYPE = 57
```

### `NIL`

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

u32::MAX - the tree/free-list null pointer.

```typescript theme={null}
NIL = 4294967295
```

### `ORDER_TYPE_GLOBAL`

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

OrderType::Global - draws from a separate global account; a taker halts at it.

```typescript theme={null}
ORDER_TYPE_GLOBAL = 3
```

### `NO_EXPIRATION_LAST_VALID_SLOT`

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

RestingOrder.last\_valid\_slot sentinel for "no expiration".

```typescript theme={null}
NO_EXPIRATION_LAST_VALID_SLOT = 0
```

### `MANIFEST_MAX_ORDERS`

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

Shipped top-of-book levels per direction. Each level is \~2 cfg words
(DataIndex + sequence\_number) + one walk iteration; sized against the
interpreter's per-order cost.

```typescript theme={null}
MANIFEST_MAX_ORDERS = 16
```

### `ManifestOrder`

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

```typescript theme={null}
export interface ManifestOrder {
    dataIndex: number;
    sequenceNumber: bigint;
}
```

### `ManifestWindow`

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

```typescript theme={null}
export interface ManifestWindow {
    orders: ManifestOrder[];
}
```

### `ManifestPoolConfig`

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

```typescript theme={null}
export interface ManifestPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "baseIn" | "quoteIn";
    baseMint: Address;
    quoteMint: Address;
    baseVault: Address;
    quoteVault: Address;
    baseDecimals: number;
    quoteDecimals: number;
    windows: {
        baseIn: ManifestWindow;
        quoteIn: ManifestWindow;
    };
}
```

### `manifest`

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

The Manifest venue: an on-chain central limit order book.

```typescript theme={null}
manifest: {
    slug: string;
    programId: Address<"MNFSTqtC93rEfYHB6hF82sKdZpUDFWkViLByLd1k1Ms">;
    tokenProgram: Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
    fetchPoolConfig: typeof fetchManifestConfig;
}
```


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