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

# actions: Quotes

> Quotes: the declaration and description of each of the 3 exports of @eco-incorp/sauce/actions.

`@eco-incorp/sauce/actions` reads JSON action programs (`{ version, chainId?, actions }`), validates them against the JSON Schema exported as `@eco-incorp/sauce/actions/action-program.schema.json`, and compiles them for a chain. A token field takes a registry symbol and a contract field a namespace reference, beside an address.

```typescript theme={null}
import { parseProgram, compileProgram } from "@eco-incorp/sauce/actions";
```

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

### `quoteAction`

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

The `eth_call` that prices `action` at its own `amount` (a Carbon trade or a Balancer batch at
the amounts it carries). None needs a balance or an allowance. Venues that price through a
separate quoter take its address from `options`.

```typescript theme={null}
export declare function quoteAction(action: SwapAction, options?: QuoteOptions): Quote;
```

### `Quote`

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

A quote as an `eth_call`: send `data` to `to`, and `decode` the result into the output amount.

```typescript theme={null}
export interface Quote {
    readonly to: Address;
    readonly data: Hex;
    decode(result: Hex): bigint;
}
```

### `QuoteOptions`

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

The quoter contracts for venues that price through one rather than through the pool or router
the action names.

```typescript theme={null}
export interface QuoteOptions {
    readonly chain?: ChainRef;
    readonly router?: Address;
    readonly maverickQuoter?: Address;
    readonly ambientImpact?: Address;
    readonly fluidDexResolver?: Address;
}
```


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