currentPrice
Contract: JBChainlinkV3PriceFeed
Interface: IJBPriceFeed
- Step by step
 - Code
 - Bug bounty
 
Gets the current price from the feed, normalized to the specified number of decimals.
Definition
function currentPrice(uint256 _decimals) external view override returns (uint256)  { ... }
- Arguments:
_decimalsis the number of decimals the returned fixed point price should include.
 - The view function can be accessed externally by anyone.
 - The view function does not alter state on the blockchain.
 - The function overrides a function definition from the 
IJBPriceFeedinterface. - The function returns the current price of the feed, as a fixed point number with the specified number of decimals.
 
Body
- 
Get the latest price being reported by the price feed. The
latestRoundDatafunction returns several feed parameters, but only the_priceis needed.// Get the latest round information. Only need the price is needed.
(, int256 _price, , , ) = feed.latestRoundData();Internal references:
External references:
 - 
Get the number of decimals being reported by the price feed that the provided price is expected to have.
// Get a reference to the number of decimals the feed uses.
uint256 _feedDecimals = feed.decimals();Internal references:
External references:
 - 
Return the fixed point price after normalizing the value to the desired number of decimals.
// Return the price, adjusted to the target decimals.
return uint256(_price).adjustDecimals(_feedDecimals, _decimals);Library references:
JBFixedPointNumber.adjustDecimals(...)
 
/**
  @notice
  Gets the current price from the feed, normalized to the specified number of decimals.
  @param _decimals The number of decimals the returned fixed point price should include.
  @return The current price of the feed, as a fixed point number with the specified number of decimals.
*/
function currentPrice(uint256 _decimals) external view override returns (uint256) {
  // Get the latest round information. Only need the price is needed.
  (, int256 _price, , , ) = feed.latestRoundData();
  // Get a reference to the number of decimals the feed uses.
  uint256 _feedDecimals = feed.decimals();
  // Return the price, adjusted to the target decimals.
  return uint256(_price).adjustDecimals(_feedDecimals, _decimals);
}
| Category | Description | Reward | 
|---|---|---|
| Optimization | Help make this operation more efficient. | 0.5ETH | 
| Low severity | Identify a vulnerability in this operation that could lead to an inconvenience for a user of the protocol or for a protocol developer. | 1ETH | 
| High severity | Identify a vulnerability in this operation that could lead to data corruption or loss of funds. | 5+ETH |