Skip to content

Commit 8dabb7d

Browse files
committed
[CAL][7] - implement GetExpectedNextSequenceNumber
1 parent 2cd0e4c commit 8dabb7d

File tree

2 files changed

+29
-25
lines changed

2 files changed

+29
-25
lines changed

pkg/chainaccessor/legacy_accessor.go

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,10 +232,30 @@ func (l *LegacyAccessor) LatestMsgSeqNum(
232232

233233
func (l *LegacyAccessor) GetExpectedNextSequenceNumber(
234234
ctx context.Context,
235-
dest cciptypes.ChainSelector,
235+
destChainSelector cciptypes.ChainSelector,
236236
) (cciptypes.SeqNum, error) {
237-
// TODO(NONEVM-1865): implement
238-
panic("implement me")
237+
var expectedNextSequenceNumber uint64
238+
err := l.contractReader.ExtendedGetLatestValue(
239+
ctx,
240+
consts.ContractNameOnRamp,
241+
consts.MethodNameGetExpectedNextSequenceNumber,
242+
primitives.Unconfirmed,
243+
map[string]any{
244+
"destChainSelector": destChainSelector,
245+
},
246+
&expectedNextSequenceNumber,
247+
)
248+
if err != nil {
249+
return 0, fmt.Errorf("failed to get expected next sequence number from onramp, source chain: %d, dest chain: %d: %w",
250+
l.chainSelector, destChainSelector, err)
251+
}
252+
253+
if expectedNextSequenceNumber == 0 {
254+
return 0, fmt.Errorf("the returned expected next sequence num is 0, source chain: %d, dest chain: %d",
255+
l.chainSelector, destChainSelector)
256+
}
257+
258+
return cciptypes.SeqNum(expectedNextSequenceNumber), nil
239259
}
240260

241261
func (l *LegacyAccessor) GetTokenPriceUSD(

pkg/reader/ccip.go

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -555,34 +555,18 @@ func (r *ccipChainReader) GetExpectedNextSequenceNumber(
555555
) (cciptypes.SeqNum, error) {
556556
lggr := logutil.WithContextValues(ctx, r.lggr)
557557

558-
if err := validateReaderExistence(r.contractReaders, sourceChainSelector); err != nil {
558+
if err := validateAccessorExistence(r.accessors, sourceChainSelector); err != nil {
559559
return 0, err
560560
}
561-
562-
var expectedNextSequenceNumber uint64
563-
err := r.contractReaders[sourceChainSelector].ExtendedGetLatestValue(
564-
ctx,
565-
consts.ContractNameOnRamp,
566-
consts.MethodNameGetExpectedNextSequenceNumber,
567-
primitives.Unconfirmed,
568-
map[string]any{
569-
"destChainSelector": r.destChain,
570-
},
571-
&expectedNextSequenceNumber,
572-
)
561+
expectedNextSeqNum, err := r.accessors[sourceChainSelector].GetExpectedNextSequenceNumber(ctx, r.destChain)
573562
if err != nil {
574-
return 0, fmt.Errorf("failed to get expected next sequence number from onramp, source chain: %d, dest chain: %d: %w",
563+
return 0, fmt.Errorf("failed to call accessor LatestMsgSeqNum, source chain: %d, dest chain: %d: %w",
575564
sourceChainSelector, r.destChain, err)
576565
}
577566

578-
if expectedNextSequenceNumber == 0 {
579-
return 0, fmt.Errorf("the returned expected next sequence num is 0, source chain: %d, dest chain: %d",
580-
sourceChainSelector, r.destChain)
581-
}
582-
583-
lggr.Debugw("chain reader returning expected next sequence number",
584-
"seqNum", expectedNextSequenceNumber, "sourceChainSelector", sourceChainSelector)
585-
return cciptypes.SeqNum(expectedNextSequenceNumber), nil
567+
lggr.Debugw("chain accessor returning expected next sequence number",
568+
"seqNum", expectedNextSeqNum, "sourceChainSelector", sourceChainSelector)
569+
return expectedNextSeqNum, nil
586570
}
587571

588572
// NextSeqNum returns the current sequence numbers for chains.

0 commit comments

Comments
 (0)