diff --git a/arbnode/sequencer.go b/arbnode/sequencer.go index a7d32e0041..44ab2d3e31 100644 --- a/arbnode/sequencer.go +++ b/arbnode/sequencer.go @@ -67,12 +67,17 @@ func NewSequencer(txStreamer *TransactionStreamer, l1Client arbutil.L1Interface, func (s *Sequencer) PublishTransaction(ctx context.Context, tx *types.Transaction) error { resultChan := make(chan error, 1) - s.txQueue <- txQueueItem{ + queueItem := txQueueItem{ tx, resultChan, ctx, } select { + case s.txQueue <- queueItem: + case <-ctx.Done(): + return ctx.Err() + } + select { case res := <-resultChan: return res case <-ctx.Done():