mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 07:06:42 +00:00
eth/filters: return prunedHistoryError if attempting to create a log filter on a blockhash before the prune point
This commit is contained in:
parent
f6667276d5
commit
440eb9ad90
1 changed files with 9 additions and 0 deletions
|
|
@ -400,6 +400,15 @@ func (api *FilterAPI) GetFilterLogs(ctx context.Context, id rpc.ID) ([]*types.Lo
|
|||
|
||||
var filter *Filter
|
||||
if f.crit.BlockHash != nil {
|
||||
// ensure the filter criteria does not specify block hash below the
|
||||
// history prune point
|
||||
header, err := api.sys.backend.HeaderByHash(ctx, *f.crit.BlockHash)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if header.Number.Uint64() < api.events.backend.HistoryCutoff() {
|
||||
return nil, &prunedHistoryError{}
|
||||
}
|
||||
// Block filter requested, construct a single-shot filter
|
||||
filter = api.sys.NewBlockFilter(*f.crit.BlockHash, f.crit.Addresses, f.crit.Topics)
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue