@@ -3690,13 +3690,20 @@ def _scoped_owner_financial_state(
36903690 " WHERE " + " AND " .join (event_clauses )
36913691 if event_clauses else ""
36923692 )
3693- through = conn .execute (
3694- "SELECT e.block_number,e.tx_index,e.log_index,e.timestamp "
3695- "FROM events e" + event_where
3696- + " ORDER BY e.block_number DESC,e.tx_index DESC,"
3697- "e.log_index DESC LIMIT 1" ,
3698- event_args ,
3699- ).fetchone ()
3693+ through = None
3694+ # A window lookup must not sort the entire recent ledger to find its
3695+ # newest event. Check empty scopes before walking the ordered index.
3696+ if not event_clauses or conn .execute (
3697+ "SELECT 1 FROM events e" + event_where + " LIMIT 1" , event_args ,
3698+ ).fetchone () is not None :
3699+ order_index = "" if pool_id else " INDEXED BY events_block_idx"
3700+ through = conn .execute (
3701+ "SELECT e.block_number,e.tx_index,e.log_index,e.timestamp "
3702+ "FROM events e" + order_index + event_where
3703+ + " ORDER BY e.block_number DESC,e.tx_index DESC,"
3704+ "e.log_index DESC LIMIT 1" ,
3705+ event_args ,
3706+ ).fetchone ()
37003707 through_order = (
37013708 {
37023709 "block_number" : int (through ["block_number" ]),
0 commit comments