code: func (l *txPricedList) Underpriced(tx *types.Transaction, local *accountSet) bool {
  	// Local transactions cannot be underpriced
  	if local.containsTx(tx) {
  		return false
  	}
  	// Discard stale price points if found at the heap start
  	for len(*l.items) > 0 {
  		head := []*types.Transaction(*l.items)[0]
  		if l.all.Get(head.Hash()) == nil {
  			l.stales--
  			heap.Pop(l.items)
  			continue
  		}
  		break
  	}
  	// Check if the transaction is underpriced or not
  	if len(*l.items) == 0 {
  		log.Error("Pricing query for empty pool") // This cannot happen, print to catch programming errors
  		return false
  	}
  	cheapest := []*types.Transaction(*l.items)[0]
  	return cheapest.GasPrice().Cmp(tx.GasPrice()) >= 0
  }
docs: // Underpriced checks whether a transaction is cheaper than (or as cheap as) the
  // lowest priced transaction currently being tracked.