From d316a9365de524a3a22246de9acd19177c7cf1d9 Mon Sep 17 00:00:00 2001 From: maskpp Date: Fri, 20 Sep 2024 22:04:27 +0800 Subject: [PATCH] fix bug --- eth/filters/filter.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eth/filters/filter.go b/eth/filters/filter.go index 67e7f8587c..9205891898 100644 --- a/eth/filters/filter.go +++ b/eth/filters/filter.go @@ -315,11 +315,11 @@ func (f *Filter) checkMatches(ctx context.Context, header *types.Header) ([]*typ // filterLogs creates a slice of logs matching the given criteria. func filterLogs(logs []*types.Log, fromBlock, toBlock *big.Int, addresses []common.Address, topics [][]common.Hash) []*types.Log { var ( - addressMap = make(map[common.Address]struct{}, len(addresses)) + addressMap = make(map[common.Address]bool, len(addresses)) topicMaps = make([]map[common.Hash]struct{}, len(topics)) ) for _, addr := range addresses { - addressMap[addr] = struct{}{} + addressMap[addr] = true } for i, sub := range topics { var topicMap map[common.Hash]struct{} @@ -338,7 +338,7 @@ func filterLogs(logs []*types.Log, fromBlock, toBlock *big.Int, addresses []comm if toBlock != nil && toBlock.Int64() >= 0 && toBlock.Uint64() < log.BlockNumber { return false } - if _, ok := addressMap[log.Address]; !ok { + if len(addressMap) > 0 && !addressMap[log.Address] { return false } // If the to filtered topics is greater than the amount of topics in logs, skip.