currentBallotStateOf
Contract: JBFundingCycleStore
Interface: IJBFundingCycleStore
- Step by step
 - Code
 - Bug bounty
 
The current ballot state of the project.
Definition
function currentBallotStateOf(uint256 _projectId) external view override returns (JBBallotState) { ... }
- Arguments:
_projectIdis the ID of the project to check the ballot state of.
 - 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 
IJBFundingCycleStoreinterface. - The function returns the project's current 
JBBallotState. 
Body
- 
Get a reference to the latest funding cycle for the project.
// Get a reference to the latest funding cycle configuration.
uint256 _fundingCycleConfiguration = latestConfigurationOf[_projectId];Internal references:
 - 
Get a reference to the funding cycle for the latest configuration.
// Resolve the funding cycle for the for the latest configuration.
JBFundingCycle memory _fundingCycle = _getStructFor(_projectId, _fundingCycleConfiguration);Internal references:
 - 
Return the ballot state of the latest funding cycle configuration as is determined by the current configuration and the funding cycle it's based on.
return
_ballotStateOf(
_projectId,
_fundingCycle.configuration,
_fundingCycle.start,
_fundingCycle.basedOn
);Internal references:
 
/**
  @notice
  The current ballot state of the project.
  @param _projectId The ID of the project to check the ballot state of.
  @return The project's current ballot's state.
*/
function currentBallotStateOf(uint256 _projectId) external view override returns (JBBallotState) {
  // Get a reference to the latest funding cycle configuration.
  uint256 _fundingCycleConfiguration = latestConfigurationOf[_projectId];
  // Resolve the funding cycle for the for the latest configuration.
  JBFundingCycle memory _fundingCycle = _getStructFor(_projectId, _fundingCycleConfiguration);
  return
    _ballotStateOf(
      _projectId,
      _fundingCycle.configuration,
      _fundingCycle.start,
      _fundingCycle.basedOn
    );
}
| 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 |