code: func dbFetchUtxoEntry(dbTx database.Tx, outpoint wire.OutPoint) (*UtxoEntry, error) {
  	// Fetch the unspent transaction output information for the passed
  	// transaction output.  Return now when there is no entry.
  	key := outpointKey(outpoint)
  	utxoBucket := dbTx.Metadata().Bucket(utxoSetBucketName)
  	serializedUtxo := utxoBucket.Get(*key)
  	recycleOutpointKey(key)
  	if serializedUtxo == nil {
  		return nil, nil
  	}
  
  	// A non-nil zero-length entry means there is an entry in the database
  	// for a spent transaction output which should never be the case.
  	if len(serializedUtxo) == 0 {
  		return nil, AssertError(fmt.Sprintf("database contains entry "+
  			"for spent tx output %v", outpoint))
  	}
  
  	// Deserialize the utxo entry and return it.
  	entry, err := deserializeUtxoEntry(serializedUtxo)
  	if err != nil {
  		// Ensure any deserialization errors are returned as database
  		// corruption errors.
  		if isDeserializeErr(err) {
  			return nil, database.Error{
  				ErrorCode: database.ErrCorruption,
  				Description: fmt.Sprintf("corrupt utxo entry "+
  					"for %v: %v", outpoint, err),
  			}
  		}
  
  		return nil, err
  	}
  
  	return entry, nil
  }
docs: // dbFetchUtxoEntry uses an existing database transaction to fetch the specified
  // transaction output from the utxo set.
  //
  // When there is no entry for the provided output, nil will be returned for both
  // the entry and the error.