@@ -52,6 +52,8 @@ func NewBoundlessPoller(rpc rpc.IRPCClient, storage storage.IStorage) *Poller {
5252 }
5353}
5454
55+ var ErrNoNewBlocks = fmt .Errorf ("no new blocks to poll" )
56+
5557func NewPoller (rpc rpc.IRPCClient , storage storage.IStorage ) * Poller {
5658 poller := NewBoundlessPoller (rpc , storage )
5759 untilBlock := big .NewInt (int64 (config .Cfg .Poller .UntilBlock ))
@@ -89,7 +91,9 @@ func (p *Poller) Start() {
8991 blockRangeMutex .Unlock ()
9092
9193 if err != nil {
92- log .Error ().Err (err ).Msg ("Error getting block range" )
94+ if err != ErrNoNewBlocks {
95+ log .Error ().Err (err ).Msg ("Failed to get block range to poll" )
96+ }
9397 continue
9498 }
9599
@@ -132,7 +136,7 @@ func (p *Poller) Poll(blockNumbers []*big.Int) (lastPolledBlock *big.Int) {
132136}
133137
134138func (p * Poller ) reachedPollLimit (blockNumber * big.Int ) bool {
135- return p .pollUntilBlock .Sign () > 0 && blockNumber .Cmp (p .pollUntilBlock ) >= 0
139+ return blockNumber == nil || ( p .pollUntilBlock .Sign () > 0 && blockNumber .Cmp (p .pollUntilBlock ) >= 0 )
136140}
137141
138142func (p * Poller ) getNextBlockRange () ([]* big.Int , error ) {
@@ -145,7 +149,7 @@ func (p *Poller) getNextBlockRange() ([]*big.Int, error) {
145149 startBlock := new (big.Int ).Add (p .lastPolledBlock , big .NewInt (1 ))
146150 if startBlock .Cmp (latestBlock ) > 0 {
147151 log .Debug ().Msgf ("Start block %s is greater than latest block %s, skipping" , startBlock , latestBlock )
148- return nil , nil
152+ return nil , ErrNoNewBlocks
149153 }
150154 endBlock := p .getEndBlockForRange (startBlock , latestBlock )
151155 if startBlock .Cmp (endBlock ) > 0 {
0 commit comments