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

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

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

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

### `CARROT_PROGRAM_ID`

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

```typescript theme={null}
CARROT_PROGRAM_ID: Address<"CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s">
```

### `CRT_MINT`

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

```typescript theme={null}
CRT_MINT: Address<"CRTx1JouZhzSU6XytsE42UQraoGqiHgxabocVfARTy2s">
```

### `CARROT_VAULT_ADDRESS`

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

The one deployed vault - a PDA of `["vault", CRT_MINT]`, singleton today.

```typescript theme={null}
CARROT_VAULT_ADDRESS: Address<"FfCRL34rkJiMiX5emNDrYp3MdWH2mES3FvDQyFppqgpJ">
```

### `CARROT_TOKEN_2022_MINTS`

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

See the module header's TOKEN PROGRAM note - CRT (shares) plus pyUSD are the only Token-2022 mints today.

```typescript theme={null}
CARROT_TOKEN_2022_MINTS: ReadonlySet<Address>
```

### `CARROT_MAX_ASSETS`

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

Fail-loud cap on basket size (not a silent truncation) - see the module
header's SELF-DROP SCOPE note. The vault has held exactly 3 assets
(USDC/USDT/pyUSD) for its entire observed history; `paramCount` below is
sized for this. A real 4th-asset addition needs this constant (and
`paramCount`) bumped, not a silent misquote.

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

### `carrot`

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

```typescript theme={null}
carrot: {
    slug: "carrot";
    programId: Address<"CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s">;
    fetchPoolConfig: (owned: OwnedAccountLoader, pool: Address) => Promise<CarrotPoolConfig>;
}
```

### `parseCarrotDirection`

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

```typescript theme={null}
export declare function parseCarrotDirection(direction: string): CarrotDirection;
```

### `carrotAllDirections`

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

Every `issue:<id>` / `redeem:<id>` direction the fetched vault currently offers, in asset order.

```typescript theme={null}
export declare function carrotAllDirections(cfg: PoolConfig): string[];
```

### `carrotGate`

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

Prepare-time direction gate: self-drops the SPECIFIC direction (not the whole vault) if its asset's oracle reading is stale.

```typescript theme={null}
export declare function carrotGate(base: PoolConfig, now: bigint): void;
```

### `carrotMints`

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

```typescript theme={null}
export declare function carrotMints(base: PoolConfig): {
    inMint: Address;
    outMint: Address;
};
```

### `carrotApplyDirection`

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

```typescript theme={null}
export declare function carrotApplyDirection(base: PoolConfig, direction: string | undefined): CarrotPoolConfig;
```

### `PYTH_RECEIVER_PROGRAM_ID`

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

Pyth `PriceUpdateV2` (pyth-solana-receiver) layout, confirmed live against all 3 basket oracles.

```typescript theme={null}
PYTH_RECEIVER_PROGRAM_ID: Address<"rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ">
```

### `CARROT_U64_MAX`

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

```typescript theme={null}
CARROT_U64_MAX: bigint
```

### `CarrotAssetSnapshot`

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

```typescript theme={null}
export interface CarrotAssetSnapshot {
    assetId: number;
    mint: Address;
    decimals: number;
    ata: Address;
    oracle: Address;
    priceOffset: number;
    scale: bigint;
    priceSnapshot: bigint;
    publishTime: bigint;
}
```

### `CarrotPoolConfig`

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

```typescript theme={null}
export interface CarrotPoolConfig extends PoolConfig {
    venue: "carrot";
    sharesMint: Address;
    redemptionFeeBps: bigint;
    assets: readonly CarrotAssetSnapshot[];
    direction: string;
}
```

### `CarrotDirection`

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

```typescript theme={null}
export interface CarrotDirection {
    op: "issue" | "redeem";
    assetId: number;
}
```


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