code: func NewTransactionsByPriceAndNonce(signer Signer, txs map[common.Address]Transactions) *TransactionsByPriceAndNonce {
  	// 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)
  		}
  	}
  	heap.Init(&heads)
  
  	// Assemble and return the transaction set
  	return &TransactionsByPriceAndNonce{
  		txs:    txs,
  		heads:  heads,
  		signer: signer,
  	}
  }
docs: // NewTransactionsByPriceAndNonce creates a transaction set that can retrieve
  // price sorted transactions in a nonce-honouring way.
  //
  // Note, the input map is reowned so the caller should not interact any more with
  // if after providing it to the constructor.