code: func (view *UtxoViewpoint) addTxOut(outpoint wire.OutPoint, txOut *wire.TxOut, isCoinBase bool, blockHeight int32) {
  	// Don't add provably unspendable outputs.
  	if txscript.IsUnspendable(txOut.PkScript) {
  		return
  	}
  
  	// Update existing entries.  All fields are updated because it's
  	// possible (although extremely unlikely) that the existing entry is
  	// being replaced by a different transaction with the same hash.  This
  	// is allowed so long as the previous transaction is fully spent.
  	entry := view.LookupEntry(outpoint)
  	if entry == nil {
  		entry = new(UtxoEntry)
  		view.entries[outpoint] = entry
  	}
  
  	entry.amount = txOut.Value
  	entry.pkScript = txOut.PkScript
  	entry.blockHeight = blockHeight
  	entry.packedFlags = tfModified
  	if isCoinBase {
  		entry.packedFlags |= tfCoinBase
  	}
  }
docs: // addTxOut adds the specified output to the view if it is not provably
  // unspendable.  When the view already has an entry for the output, it will be
  // marked unspent.  All fields will be updated for existing entries since it's
  // possible it has changed during a reorg.