@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias TransactionAdminSearchArgs

    type TransactionAdminSearchArgs = {
        amount?: { operator: "EQ" | "LTE" | "GTE"; value: BigNumber };
        anyOf?: TransactionSearchFilters["anyOf"];
        bankIds?: Required<Transaction["bankId"]>[];
        bankTransactionIds?: Transaction["bankTransactionId"][];
        cardIds?: string[];
        createdAt?: DbTimestampCriteria;
        customerIds?: Customer["id"][];
        dataSources?: Transaction["dataSource"][];
        entityIds?: Transaction["entityId"][];
        entityTypes?: NonNullable<Transaction["entityType"]>[];
        ids?: Transaction["id"][];
        inBalance?: TransactionSearchFilters["inBalance"];
        includeHidden?: true;
        keys?: string[];
        ledgerAccountIds?: TransactionSearchFilters["ledgerAccountIds"];
        methods?: Transaction["method"][];
        orderBy?: TransactionOrderBy[];
        page?: number;
        pageSize?: number;
        paymentInstrumentIds?: Transaction["paymentInstrumentId"][];
        query?: string;
        signatures?: string[];
        statuses?: Transaction["status"][];
        subtypes?: Transaction["subType"][] | null;
        subtypesExclude?: NonNullable<Transaction["subType"]>[];
        types?: Transaction["type"][];
        updatedAt?: DbTimestampCriteria;
        walletAddresses?: Transaction["walletAddress"][];
        window?: { after?: number; before?: number; key: string };
    }
    Index
    amount?: { operator: "EQ" | "LTE" | "GTE"; value: BigNumber }
    anyOf?: TransactionSearchFilters["anyOf"]

    See TransactionSearchFilters.anyOf.

    bankTransactionIds?: Transaction["bankTransactionId"][]
    cardIds?: string[]
    customerIds?: Customer["id"][]
    dataSources?: Transaction["dataSource"][]

    Filter by the producing arm. One-to-one with a UNION arm, so it prunes exactly where methods only narrows — BLOCKCHAIN keeps four arms.

    entityIds?: Transaction["entityId"][]
    ids?: Transaction["id"][]
    inBalance?: TransactionSearchFilters["inBalance"]

    See TransactionSearchFilters.inBalance.

    includeHidden?: true

    Include rows an operator hid as a netted group. Admin only: the customer service has no equivalent, so a customer never sees a hidden row.

    keys?: string[]

    Filter by the computed unique-identity Transaction.key (id-type-subType). Matches raw_rows.key — the same column the window (cursor) path anchors on — so a keys lookup lands the exact read-model rows. Used by get({ key }).

    ledgerAccountIds?: TransactionSearchFilters["ledgerAccountIds"]

    See TransactionSearchFilters.ledgerAccountIds.

    methods?: Transaction["method"][]
    orderBy?: TransactionOrderBy[]

    Defaults to createdAt DESC. Ties break on key, in the last criterion's direction.

    page?: number

    Defaults to 1

    pageSize?: number

    Defaults to 25, clamped to MAX_ADMIN_SEARCH_PAGE_SIZE.

    paymentInstrumentIds?: Transaction["paymentInstrumentId"][]
    query?: string

    Unified free-text search: case-insensitive substring match across transaction id, signature, bank transaction id, payment instrument id, card id, customer id/name, entity id/name/email, organization id, wallet address, account name/id, counterparty name, description, and other-wallet fields. Whitespace-only values are a no-op.

    signatures?: string[]
    statuses?: Transaction["status"][]
    subtypes?: Transaction["subType"][] | null

    Pass values to include only those subtypes; pass null to exclude transactions with a subtype

    subtypesExclude?: NonNullable<Transaction["subType"]>[]

    Drops rows with these subtypes; main legs (no subtype) stay.

    types?: Transaction["type"][]
    walletAddresses?: Transaction["walletAddress"][]
    window?: { after?: number; before?: number; key: string }

    Cursor window around a specific row. When set, SUPERSEDES page/ pageSize and returns the contiguous slice of THIS query's result set (same filters/conditions AND same orderBy): before rows preceding the anchor + the anchor row + after rows following it. The anchor is the row whose computed Transaction.key equals window.key. Works for any orderBy (a key tiebreak makes the order total). Unknown key → empty result. hasNext is always false on the window path. before/ after default to 10.