code: func (mp *TxPool) FetchTransaction(txHash *chainhash.Hash) (*btcutil.Tx, error) {
  	// Protect concurrent access.
  	mp.mtx.RLock()
  	txDesc, exists := mp.pool[*txHash]
  	mp.mtx.RUnlock()
  
  	if exists {
  		return txDesc.Tx, nil
  	}
  
  	return nil, fmt.Errorf("transaction is not in the pool")
  }
docs: // FetchTransaction returns the requested transaction from the transaction pool.
  // This only fetches from the main transaction pool and does not include
  // orphans.
  //
  // This function is safe for concurrent access.