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

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

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

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

### `fetchPumpswapConfigBytes`

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

Fetch from a 32-byte pool key. The loader and returned config retain their string-address API.

```typescript theme={null}
export declare function fetchPumpswapConfigBytes(owned: OwnedAccountLoader, pool: Uint8Array): Promise<PumpswapPoolConfig>;
```

### `PUMPSWAP_PROGRAM_ID`

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

```typescript theme={null}
PUMPSWAP_PROGRAM_ID: Address<"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA">
```

### `USER_VOLUME_ACCUMULATOR_REF`

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

user\_volume\_accumulator (buy path only) is a PDA over the user's own wallet
address - \['user\_volume\_accumulator', user] under the amm program - so the
adapter cannot resolve it from pool state. buildSwap attaches it under this
ref for the caller to resolve.

```typescript theme={null}
USER_VOLUME_ACCUMULATOR_REF = "pumpswap-user-volume-accumulator"
```

### `PumpswapPoolConfig`

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

```typescript theme={null}
export interface PumpswapPoolConfig extends PoolConfig {
    venue: "pumpswap";
    direction: "quoteToBase" | "baseToQuote";
    baseMint: Address;
    quoteMint: Address;
    baseVault: Address;
    quoteVault: Address;
    baseTokenProgram: Address;
    quoteTokenProgram: Address;
    coinCreator: Address;
    canonical: boolean;
    lpFeeBps: bigint;
    protocolFeeBps: bigint;
    creatorFeeBps: bigint;
    disableFlags: number;
    protocolFeeRecipient: Address;
    protocolFeeRecipientTokenAccount: Address;
    coinCreatorVaultAuthority: Address;
    coinCreatorVaultAta: Address;
    poolV2?: Address;
    buybackFeeRecipient: Address;
    buybackFeeRecipientTokenAccount: Address;
}
```

### `pumpswapAdapter`

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

```typescript theme={null}
pumpswapAdapter: {
    slug: string;
    kind: "constant-product";
    programId: Address<"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA">;
    fetchPoolConfig(owned: OwnedAccountLoader, pool: Address): Promise<PumpswapPoolConfig>;
    quoteAccounts(cfg: PoolConfig): VenueAccount[];
    emitQuote(cfg: PoolConfig, i: number, amountIn: bigint): string;
    buildSwap(cfg: PoolConfig, user: SwapUser, amountIn: bigint): VenueSwap;
    referenceQuote(cfg: PoolConfig, state: AccountBytesMap, amountIn: bigint, _now: bigint): bigint;
}
```


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