rpc/v10/subscription_status.go (and the equivalent in v9) currently ignores the block/pre-confirmed payloads in onNewHead and onPreConfirmed (both take _) and always calls the fullTransactionStatus RPC on every notification. That path re-reads receipts from the DB and can fall back to the feeder gateway. Instead, when a new head or pre-confirmed notification arrives, check whether the subscribed tx hash is included in that payload and derive its status directly from memory (ACCEPTED_ON_L2 for new heads, PRE_CONFIRMED for pre-confirmed). The subscription should never fall back to the feeder gateway, status updates should be served purely from the notification payloads.
rpc/v10/subscription_status.go(and the equivalent in v9) currently ignores the block/pre-confirmed payloads inonNewHeadandonPreConfirmed(both take _) and always calls the fullTransactionStatusRPC on every notification. That path re-reads receipts from the DB and can fall back to the feeder gateway. Instead, when a new head or pre-confirmed notification arrives, check whether the subscribed tx hash is included in that payload and derive its status directly from memory (ACCEPTED_ON_L2for new heads,PRE_CONFIRMEDfor pre-confirmed). The subscription should never fall back to the feeder gateway, status updates should be served purely from the notification payloads.