File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -2521,12 +2521,13 @@ impl Backend {
2521
2521
let start = filter. from_block . unwrap_or ( 0 ) ;
2522
2522
let end = filter. to_block . unwrap_or ( self . best_number ( ) ) ;
2523
2523
2524
- let dist = end. saturating_sub ( start) ;
2525
- if dist == 0 {
2524
+ if start > end {
2526
2525
return Err ( BlockchainError :: RpcError ( RpcError :: invalid_params (
2527
2526
"invalid block range, ensure that to block is greater than from block" . to_string ( ) ,
2528
2527
) ) ) ;
2529
2528
}
2529
+
2530
+ let dist = end - start;
2530
2531
if dist > 300 {
2531
2532
return Err ( BlockchainError :: RpcError ( RpcError :: invalid_params (
2532
2533
"block range too large, currently limited to 300" . to_string ( ) ,
Original file line number Diff line number Diff line change @@ -873,6 +873,21 @@ async fn test_trace_filter() {
873
873
let traces = api. trace_filter ( tracer) . await ;
874
874
assert ! ( traces. is_err( ) ) ;
875
875
876
+ // Test same from and to block is valid
877
+ let latest = provider. get_block_number ( ) . await . unwrap ( ) ;
878
+ let tracer = TraceFilter {
879
+ from_block : Some ( latest) ,
880
+ to_block : Some ( latest) ,
881
+ from_address : vec ! [ ] ,
882
+ to_address : vec ! [ ] ,
883
+ mode : TraceFilterMode :: Union ,
884
+ after : None ,
885
+ count : None ,
886
+ } ;
887
+
888
+ let traces = api. trace_filter ( tracer) . await ;
889
+ assert ! ( traces. is_ok( ) ) ;
890
+
876
891
// Test invalid block range
877
892
let latest = provider. get_block_number ( ) . await . unwrap ( ) ;
878
893
let tracer = TraceFilter {
You can’t perform that action at this time.
0 commit comments