mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 13:16:42 +00:00
eth/filters: apply limit to topic search positions
This commit is contained in:
parent
3cc4015d29
commit
f91cf22312
2 changed files with 18 additions and 4 deletions
|
|
@ -347,9 +347,16 @@ func (api *FilterAPI) GetLogs(ctx context.Context, crit FilterCriteria) ([]*type
|
||||||
if len(crit.Topics) > maxTopics {
|
if len(crit.Topics) > maxTopics {
|
||||||
return nil, errExceedMaxTopics
|
return nil, errExceedMaxTopics
|
||||||
}
|
}
|
||||||
|
if api.logQueryLimit != 0 {
|
||||||
if len(crit.Addresses) > api.logQueryLimit {
|
if len(crit.Addresses) > api.logQueryLimit {
|
||||||
return nil, errExceedLogQueryLimit
|
return nil, errExceedLogQueryLimit
|
||||||
}
|
}
|
||||||
|
for _, topics := range crit.Topics {
|
||||||
|
if len(topics) > api.logQueryLimit {
|
||||||
|
return nil, errExceedLogQueryLimit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var filter *Filter
|
var filter *Filter
|
||||||
if crit.BlockHash != nil {
|
if crit.BlockHash != nil {
|
||||||
|
|
|
||||||
|
|
@ -295,9 +295,16 @@ func (es *EventSystem) SubscribeLogs(crit ethereum.FilterQuery, logs chan []*typ
|
||||||
if len(crit.Topics) > maxTopics {
|
if len(crit.Topics) > maxTopics {
|
||||||
return nil, errExceedMaxTopics
|
return nil, errExceedMaxTopics
|
||||||
}
|
}
|
||||||
|
if es.sys.cfg.LogQueryLimit != 0 {
|
||||||
if len(crit.Addresses) > es.sys.cfg.LogQueryLimit {
|
if len(crit.Addresses) > es.sys.cfg.LogQueryLimit {
|
||||||
return nil, errExceedLogQueryLimit
|
return nil, errExceedLogQueryLimit
|
||||||
}
|
}
|
||||||
|
for _, topics := range crit.Topics {
|
||||||
|
if len(topics) > es.sys.cfg.LogQueryLimit {
|
||||||
|
return nil, errExceedLogQueryLimit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
var from, to rpc.BlockNumber
|
var from, to rpc.BlockNumber
|
||||||
if crit.FromBlock == nil {
|
if crit.FromBlock == nil {
|
||||||
from = rpc.LatestBlockNumber
|
from = rpc.LatestBlockNumber
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue