eth/filters: fix the block range assignment for log filter (#17284)

pull/17380/merge
gary rong 6 years ago committed by Péter Szilágyi
parent fb9f7261ec
commit c4a1d4fecf
  1. 14
      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) filter = NewBlockFilter(api.backend, *crit.BlockHash, crit.Addresses, crit.Topics)
} else { } else {
// Convert the RPC block numbers into internal representations // Convert the RPC block numbers into internal representations
var ( begin := rpc.LatestBlockNumber.Int64()
begin int64 if crit.FromBlock != nil {
end int64 begin = crit.FromBlock.Int64()
)
if crit.FromBlock == nil {
begin = int64(rpc.LatestBlockNumber)
} }
if crit.ToBlock == nil { end := rpc.LatestBlockNumber.Int64()
end = int64(rpc.LatestBlockNumber) if crit.ToBlock != nil {
end = crit.ToBlock.Int64()
} }
// Construct the range filter // Construct the range filter
filter = NewRangeFilter(api.backend, begin, end, crit.Addresses, crit.Topics) filter = NewRangeFilter(api.backend, begin, end, crit.Addresses, crit.Topics)

Loading…
Cancel
Save