From a4e535ae9fface41f87b517ae7d084b491a1ff3d Mon Sep 17 00:00:00 2001 From: rjl493456442 Date: Tue, 31 Jul 2018 16:17:16 +0800 Subject: [PATCH] eth: fix the block range assignment for log filter --- eth/filters/api.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/eth/filters/api.go b/eth/filters/api.go index 6fea14fee1..5ed80a8875 100644 --- a/eth/filters/api.go +++ b/eth/filters/api.go @@ -330,15 +330,13 @@ func (api *PublicFilterAPI) GetLogs(ctx context.Context, crit FilterCriteria) ([ filter = NewBlockFilter(api.backend, *crit.BlockHash, crit.Addresses, crit.Topics) } else { // Convert the RPC block numbers into internal representations - var ( - begin int64 - end int64 - ) - if crit.FromBlock == nil { - begin = int64(rpc.LatestBlockNumber) + begin := rpc.LatestBlockNumber.Int64() + if crit.FromBlock != nil { + begin = crit.FromBlock.Int64() } - if crit.ToBlock == nil { - end = int64(rpc.LatestBlockNumber) + end := rpc.LatestBlockNumber.Int64() + if crit.ToBlock != nil { + end = crit.ToBlock.Int64() } // Construct the range filter filter = NewRangeFilter(api.backend, begin, end, crit.Addresses, crit.Topics)