@@ -533,62 +533,19 @@ func (r *ccipChainReader) MsgsBetweenSeqNums(
533533func (r * ccipChainReader ) LatestMsgSeqNum (
534534 ctx context.Context , chain cciptypes.ChainSelector ) (cciptypes.SeqNum , error ) {
535535 lggr := logutil .WithContextValues (ctx , r .lggr )
536- if err := validateReaderExistence (r .contractReaders , chain ); err != nil {
536+ if err := validateAccessorExistence (r .accessors , chain ); err != nil {
537537 return 0 , err
538538 }
539539
540- seq , err := r .contractReaders [chain ].ExtendedQueryKey (
541- ctx ,
542- consts .ContractNameOnRamp ,
543- query.KeyFilter {
544- Key : consts .EventNameCCIPMessageSent ,
545- Expressions : []query.Expression {
546- query .Comparator (consts .EventAttributeSourceChain , primitives.ValueComparator {
547- Value : chain ,
548- Operator : primitives .Eq ,
549- }),
550- query .Comparator (consts .EventAttributeDestChain , primitives.ValueComparator {
551- Value : r .destChain ,
552- Operator : primitives .Eq ,
553- }),
554- query .Confidence (primitives .Finalized ),
555- },
556- },
557- query.LimitAndSort {
558- SortBy : []query.SortBy {
559- query .NewSortBySequence (query .Desc ),
560- },
561- Limit : query.Limit {Count : 1 },
562- },
563- & cciptypes.SendRequestedEvent {},
564- )
540+ seqNum , err := r .accessors [chain ].LatestMsgSeqNum (ctx , r .destChain )
565541 if err != nil {
566- return 0 , fmt .Errorf ("failed to query onRamp: %w" , err )
567- }
568-
569- lggr .Debugw ("queried latest message from source" ,
570- "numMsgs" , len (seq ), "sourceChainSelector" , chain )
571- if len (seq ) > 1 {
572- return 0 , fmt .Errorf ("more than one message found for the latest message query" )
573- }
574- if len (seq ) == 0 {
575- return 0 , nil
576- }
577-
578- item := seq [0 ]
579- msg , ok := item .Data .(* cciptypes.SendRequestedEvent )
580- if ! ok {
581- return 0 , fmt .Errorf ("failed to cast %v to SendRequestedEvent" , item .Data )
582- }
583-
584- if err := chainaccessor .ValidateSendRequestedEvent (msg , chain , r .destChain ,
585- cciptypes .NewSeqNumRange (msg .Message .Header .SequenceNumber , msg .Message .Header .SequenceNumber )); err != nil {
586- return 0 , fmt .Errorf ("message invalid msg %v: %w" , msg , err )
542+ return 0 , fmt .Errorf ("failed to call accessor LatestMsgSeqNum, source chain: %d, dest chain: %d: %w" ,
543+ chain , r .destChain , err )
587544 }
588545
589546 lggr .Infow ("chain reader returning latest onramp sequence number" ,
590- "seqNum" , msg . Message . Header . SequenceNumber , "sourceChainSelector" , chain )
591- return msg . SequenceNumber , nil
547+ "seqNum" , seqNum , "sourceChainSelector" , chain )
548+ return seqNum , nil
592549}
593550
594551// GetExpectedNextSequenceNumber implements CCIP.
0 commit comments