diff --git a/core/types/transaction.go b/core/types/transaction.go index 82af9335ff2a..76ca331f8cce 100644 --- a/core/types/transaction.go +++ b/core/types/transaction.go @@ -331,12 +331,14 @@ func NewTransactionsByPriceAndNonce(signer Signer, txs map[common.Address]Transa // Initialize a price based heap with the head transactions heads := make(TxByPrice, 0, len(txs)) for from, accTxs := range txs { - heads = append(heads, accTxs[0]) - // Ensure the sender address is from the signer - acc, _ := Sender(signer, accTxs[0]) - txs[acc] = accTxs[1:] - if from != acc { - delete(txs, from) + if len(accTxs) > 0 { + heads = append(heads, accTxs[0]) + // Ensure the sender address is from the signer + acc, _ := Sender(signer, accTxs[0]) + txs[acc] = accTxs[1:] + if from != acc { + delete(txs, from) + } } } heap.Init(&heads)