@@ -196,10 +196,7 @@ func (r *ccipChainReader) CommitReportsGTETimestamp(
196196 "ts" , ts ,
197197 "limit" , limit * 2 )
198198
199- reports , err := r .processCommitReports (iter , ts , limit )
200- if err != nil {
201- return nil , err
202- }
199+ reports := r .processCommitReports (iter , ts , limit )
203200
204201 lggr .Debugw ("decoded commit reports" , "reports" , reports )
205202
@@ -234,9 +231,11 @@ func (r *ccipChainReader) queryCommitReports(
234231 )
235232}
236233
234+ // processCommitReports decodes the commit reports from the query results
235+ // and returns the ones that can be properly parsed and validated.
237236func (r * ccipChainReader ) processCommitReports (
238237 iter []types.Sequence , ts time.Time , limit int ,
239- ) ( []plugintypes2.CommitPluginReportWithMeta , error ) {
238+ ) []plugintypes2.CommitPluginReportWithMeta {
240239 lggr := r .lggr
241240 reports := make ([]plugintypes2.CommitPluginReportWithMeta , 0 )
242241 for _ , item := range iter {
@@ -254,14 +253,17 @@ func (r *ccipChainReader) processCommitReports(
254253 }
255254 allMerkleRoots := append (ev .BlessedMerkleRoots , ev .UnblessedMerkleRoots ... )
256255 blessedMerkleRoots , unblessedMerkleRoots := r .processMerkleRoots (allMerkleRoots , isBlessed )
256+
257257 priceUpdates , err := r .processPriceUpdates (ev .PriceUpdates )
258258 if err != nil {
259- return nil , err
259+ lggr .Errorw ("failed to process price updates" , "err" , err , "priceUpdates" , ev .PriceUpdates )
260+ continue
260261 }
261262
262263 blockNum , err := strconv .ParseUint (item .Head .Height , 10 , 64 )
263264 if err != nil {
264- return nil , fmt .Errorf ("failed to parse block number %s: %w" , item .Head .Height , err )
265+ lggr .Errorw ("failed to parse block number" , "blockNum" , item .Head .Height , "err" , err )
266+ continue
265267 }
266268
267269 reports = append (reports , plugintypes2.CommitPluginReportWithMeta {
@@ -278,9 +280,9 @@ func (r *ccipChainReader) processCommitReports(
278280 lggr .Debugw ("decoded commit reports" , "reports" , reports )
279281
280282 if len (reports ) < limit {
281- return reports , nil
283+ return reports
282284 }
283- return reports [:limit ], nil
285+ return reports [:limit ]
284286}
285287
286288func (r * ccipChainReader ) processMerkleRoots (
@@ -514,6 +516,8 @@ func (r *ccipChainReader) MsgsBetweenSeqNums(
514516 if err != nil {
515517 return nil , fmt .Errorf ("get onRamp address after query: %w" , err )
516518 }
519+
520+ // Ensure the onRamp address hasn't changed during the query.
517521 if ! bytes .Equal (onRampAddress , onRampAddressAfterQuery ) {
518522 return nil , fmt .Errorf ("onRamp address has changed from %s to %s" , onRampAddress , onRampAddressAfterQuery )
519523 }
0 commit comments