Skip to content

Commit 9285a46

Browse files
committed
fix(eth/filters): return -32602 when exceeding the block range limit ethereum#34647
1 parent 012b939 commit 9285a46

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

eth/filters/filter.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package filters
1919
import (
2020
"context"
2121
"errors"
22-
"fmt"
2322
"math/big"
2423

2524
"github.com/XinFinOrg/XDPoSChain/common"
@@ -155,7 +154,7 @@ func (f *Filter) Logs(ctx context.Context) ([]*types.Log, error) {
155154
return nil, err
156155
}
157156
if f.rangeLimit != 0 && (uint64(f.end)-uint64(f.begin)) > f.rangeLimit {
158-
return nil, fmt.Errorf("exceed maximum block range: %d", f.rangeLimit)
157+
return nil, invalidParamsErr("exceed maximum block range %d", f.rangeLimit)
159158
}
160159

161160
logChan, errChan := f.rangeLogsAsync(ctx)

eth/filters/filter_test.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package filters
1919
import (
2020
"context"
2121
"encoding/json"
22+
"errors"
2223
"math/big"
2324
"strings"
2425
"testing"
@@ -388,7 +389,19 @@ func TestRangeLimit(t *testing.T) {
388389
// Set rangeLimit to 5, but request a range of 9 (end - begin = 9, from 0 to 9)
389390
filter := sys.NewRangeFilter(0, 9, nil, nil, 5)
390391
_, err = filter.Logs(context.Background())
391-
if err == nil || !strings.Contains(err.Error(), "exceed maximum block range") {
392-
t.Fatalf("expected range limit error, got %v", err)
392+
if err == nil {
393+
t.Fatal("expected range limit error, got nil")
394+
}
395+
396+
var re rpc.Error
397+
if errors.As(err, &re) {
398+
if re.ErrorCode() != -32602 {
399+
t.Fatalf("expected error code -32602, got %d", re.ErrorCode())
400+
}
401+
if re.Error() != "exceed maximum block range 5" {
402+
t.Fatalf("expected error message 'exceed maximum block range 5', got %q", re.Error())
403+
}
404+
} else {
405+
t.Fatalf("expected rpc error, got %v", err)
393406
}
394407
}

0 commit comments

Comments
 (0)