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

    One decoded mintfx event, addressed by the transaction that emitted it.

    The grain is the event, not the transaction and not the solana_account_transaction row. A transaction carrying two events is two rows here; on prod that is 8 transactions out of 80,976, so the fan-out is real but negligible — and it is the grain an operator reading "what did the program do" actually wants.

    interface SolanaProgramEvent {
        blockTime: Date;
        data: Record<string, JsonValue>;
        eventIndex: number;
        indexWithinBlock: number;
        name: string;
        signature: string;
        slot: number;
    }
    Index
    blockTime: Date
    data: Record<string, JsonValue>

    The decoded borsh payload, exactly as stored. Shape varies by name.

    eventIndex: number

    Position within the transaction's parsed_events array (0-based).

    Part of the row's identity: (signature, eventIndex) is unique, while signature alone is not for the handful of two-event transactions.

    indexWithinBlock: number
    name: string

    Event struct name — "MintEvent", "TransferEvent", …

    signature: string

    Transaction signature — the explorer link and the natural reference.

    slot: number