Skip to content
This repository was archived by the owner on Apr 10, 2026. It is now read-only.

Commit 15840b7

Browse files
authored
Merge PR #1005: Fix legacy race condition
1 parent 6a27190 commit 15840b7

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

relayer/naive-strategy.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -476,31 +476,33 @@ func RelayPackets(ctx context.Context, log *zap.Logger, src, dst *Chain, sp Rela
476476
return err
477477
}
478478

479-
// set the maximum relay transaction constraints
480-
msgs := &RelayMsgs{
481-
Src: []provider.RelayerMessage{},
482-
Dst: []provider.RelayerMessage{},
483-
MaxTxSize: maxTxSize,
484-
MaxMsgLength: maxMsgLength,
485-
}
486-
487479
eg, egCtx := errgroup.WithContext(ctx)
488480
// add messages for sequences on src
481+
var msgsSrc1, msgsDst1 []provider.RelayerMessage
489482
eg.Go(func() error {
490-
return AddMessagesForSequences(egCtx, sp.Src, src, dst, srch, dsth, &msgs.Src, &msgs.Dst,
483+
return AddMessagesForSequences(egCtx, sp.Src, src, dst, srch, dsth, &msgsSrc1, &msgsDst1,
491484
srcChannel.ChannelId, srcChannel.PortId, srcChannel.Counterparty.ChannelId, srcChannel.Counterparty.PortId, srcChannel.Ordering)
492485
})
493486

487+
var msgsSrc2, msgsDst2 []provider.RelayerMessage
494488
// add messages for sequences on dst
495489
eg.Go(func() error {
496-
return AddMessagesForSequences(egCtx, sp.Dst, dst, src, dsth, srch, &msgs.Dst, &msgs.Src,
490+
return AddMessagesForSequences(egCtx, sp.Dst, dst, src, dsth, srch, &msgsDst2, &msgsSrc2,
497491
srcChannel.Counterparty.ChannelId, srcChannel.Counterparty.PortId, srcChannel.ChannelId, srcChannel.PortId, srcChannel.Ordering)
498492
})
499493

500494
if err = eg.Wait(); err != nil {
501495
return err
502496
}
503497

498+
// set the maximum relay transaction constraints
499+
msgs := &RelayMsgs{
500+
Src: append(msgsSrc1, msgsSrc2...),
501+
Dst: append(msgsDst1, msgsDst2...),
502+
MaxTxSize: maxTxSize,
503+
MaxMsgLength: maxMsgLength,
504+
}
505+
504506
if !msgs.Ready() {
505507
log.Info(
506508
"No packets to relay",

0 commit comments

Comments
 (0)