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

    One page of SolanaAccountTransactionService.decodeStoredEvents.

    Named rather than inlined because the workflow driving the walk has to state it: inferring the activity's return there resolves back through this module and TypeScript refuses the cycle (TS7022). The same reason the existing getSignaturesForAddress call site carries an inline annotation.

    interface DecodedEventPage {
        decoded: number;
        events: number;
        nextCursor: number | null;
        undecodable: { reason: string; signature: string }[];
    }
    Index
    decoded: number

    Rows written.

    events: number

    Events found across them — the signal that the decode did anything.

    nextCursor: number | null

    id to resume after, or null when the walk is finished.

    undecodable: { reason: string; signature: string }[]

    Rows carrying a payload this client could not read.

    Almost always an UndecodableEvent written into parsed_events — the decoder records the bytes rather than raising — so unlike the other counts these rows were written and IS NULL will not revisit them. A later client reaches them with refresh. A reason that is not an undecodable event is a genuine throw, which should not happen.