The read half of a broker. Every member is optional because providers vary; features says which are real, and a method without a declaration is unused.

interface AccountFeed {
    features?: TradingFeatureSource;
    getAccountPositions(
        accountId: string,
        signal: AbortSignal,
    ): Promise<readonly Position[]>;
    getAccountSnapshot(
        accountId: string,
        signal: AbortSignal,
    ): Promise<AccountSnapshot>;
    getExecutions(
        query: AccountHistoryQuery,
        signal: AbortSignal,
    ): Promise<readonly Execution[]>;
    getOrderHistory(
        query: AccountHistoryQuery,
        signal: AbortSignal,
    ): Promise<readonly OrderHistoryEntry[]>;
    listAccounts(signal: AbortSignal): Promise<readonly TradingAccount[]>;
    subscribeAccount(
        accountId: string,
        onSnapshot: (snapshot: AccountSnapshot) => void,
        onError?: (error: unknown) => void,
    ): () => void;
}

Implemented by

Properties

Methods

  • Parameters

    • accountId: string
    • signal: AbortSignal

    Returns Promise<readonly Position[]>

  • Push readings as they change. onError reports a dead stream; the returned function stops it.

    Parameters

    • accountId: string
    • onSnapshot: (snapshot: AccountSnapshot) => void
    • OptionalonError: (error: unknown) => void

    Returns () => void