@@ -144,30 +144,37 @@ def make_matching_messages_query(
144144 select_stmt = select_stmt .where (
145145 select_earliest_confirmation .c .height < end_block
146146 )
147+
148+ sort_by = SortBy .TX_TIME
147149 if sort_by == SortBy .TX_TIME :
148150 order_by_columns = (
149151 (
150152 nullsfirst (
151153 select_earliest_confirmation .c .earliest_confirmation .desc ()
152154 ),
153155 MessageDb .time .desc (),
156+ MessageDb .item_hash .asc (),
154157 )
155158 if sort_order == SortOrder .DESCENDING
156159 else (
157160 nullslast (
158161 select_earliest_confirmation .c .earliest_confirmation .asc ()
159162 ),
160163 MessageDb .time .asc (),
164+ MessageDb .item_hash .asc (),
161165 )
162166 )
163167 else :
164- order_by_columns = (
165- (
166- MessageDb .time .desc ()
167- if sort_order == SortOrder .DESCENDING
168- else MessageDb .time .asc ()
169- ),
170- )
168+ if sort_order == SortOrder .DESCENDING :
169+ order_by_columns = (
170+ MessageDb .time .desc (),
171+ MessageDb .item_hash .asc (),
172+ )
173+ else : # ASCENDING
174+ order_by_columns = (
175+ MessageDb .time .asc (),
176+ MessageDb .item_hash .asc (),
177+ )
171178
172179 select_stmt = select_stmt .order_by (* order_by_columns ).offset (
173180 (page - 1 ) * pagination
@@ -653,10 +660,20 @@ def make_matching_hashes_query(
653660 if status :
654661 select_stmt = select_stmt .where (MessageStatusDb .status == status )
655662
656- if sort_order == SortOrder .ASCENDING :
657- select_stmt = select_stmt .order_by (MessageStatusDb .reception_time .asc ())
658- else :
659- select_stmt = select_stmt .order_by (MessageStatusDb .reception_time .desc ())
663+ order_by_columns : Tuple = ()
664+
665+ if sort_order == SortOrder .DESCENDING :
666+ order_by_columns = (
667+ MessageStatusDb .reception_time .desc (),
668+ MessageStatusDb .item_hash .asc (),
669+ )
670+ else : # ASCENDING
671+ order_by_columns = (
672+ MessageStatusDb .reception_time .asc (),
673+ MessageStatusDb .item_hash .asc (),
674+ )
675+
676+ select_stmt = select_stmt .order_by (* order_by_columns )
660677
661678 select_stmt = select_stmt .offset ((page - 1 ) * pagination )
662679
0 commit comments