mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-04-09 03:17:31 +00:00
eth/filters: return -32602 when exceeding the block range limit (#34647)
Co-authored-by: Felix Lange <fjl@twurst.com>
This commit is contained in:
parent
04e40995d9
commit
a8ea6319f1
2 changed files with 16 additions and 4 deletions
|
|
@ -19,7 +19,6 @@ package filters
|
|||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"math/big"
|
||||
"slices"
|
||||
|
|
@ -147,7 +146,7 @@ func (f *Filter) Logs(ctx context.Context) ([]*types.Log, error) {
|
|||
return nil, err
|
||||
}
|
||||
if f.rangeLimit != 0 && (end-begin) > f.rangeLimit {
|
||||
return nil, fmt.Errorf("exceed maximum block range: %d", f.rangeLimit)
|
||||
return nil, invalidParamsErr("exceed maximum block range %d", f.rangeLimit)
|
||||
}
|
||||
return f.rangeLogs(ctx, begin, end)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package filters
|
|||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"math/big"
|
||||
"strings"
|
||||
"testing"
|
||||
|
|
@ -634,7 +635,19 @@ func TestRangeLimit(t *testing.T) {
|
|||
// Set rangeLimit to 5, but request a range of 9 (end - begin = 9, from 0 to 9)
|
||||
filter := sys.NewRangeFilter(0, 9, nil, nil, 5)
|
||||
_, err = filter.Logs(context.Background())
|
||||
if err == nil || !strings.Contains(err.Error(), "exceed maximum block range") {
|
||||
t.Fatalf("expected range limit error, got %v", err)
|
||||
if err == nil {
|
||||
t.Fatal("expected range limit error, got nil")
|
||||
}
|
||||
|
||||
var re rpc.Error
|
||||
if errors.As(err, &re) {
|
||||
if re.ErrorCode() != -32602 {
|
||||
t.Fatalf("expected error code -32602, got %d", re.ErrorCode())
|
||||
}
|
||||
if re.Error() != "exceed maximum block range 5" {
|
||||
t.Fatalf("expected error message 'exceed maximum block range 5', got %q", re.Error())
|
||||
}
|
||||
} else {
|
||||
t.Fatalf("expected rpc error, got %v", err)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue