balanceOf
Contract: JBTokenStore
Interface: IJBTokenStore
- Step by step
 - Code
 - Bug bounty
 
The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens.
Definition
function balanceOf(address _holder, uint256 _projectId)
  external
  view
  override
  returns (uint256 balance) { ... }
- Arguments:
_holderis the token holder to get a balance for._projectIdis the project to get the_holders balance 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 
IJBTokenStoreinterface. - The function returns the project token balance of the 
_holder. 
Body
- 
Get a reference to the holder's unclaimed balance for the project.
// Get a reference to the holder's unclaimed balance for the project.
balance = unclaimedBalanceOf[_holder][_projectId];Internal references:
 - 
Get a reference to the project's current token.
// Get a reference to the project's current token.
IJBToken _token = tokenOf[_projectId];Internal references:
 - 
If the project has a current token, add the holder's balance to the total.
// If the project has a current token, add the holder's balance to the total.
if (_token != IJBToken(address(0))) balance = balance + _token.balanceOf(_holder, _projectId);External references:
 
/**
  @notice
  The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens.
  @param _holder The token holder to get a balance for.
  @param _projectId The project to get the `_holder`s balance of.
  @return balance The project token balance of the `_holder`.
*/
function balanceOf(address _holder, uint256 _projectId)
  external
  view
  override
  returns (uint256 balance)
{
  // Get a reference to the holder's unclaimed balance for the project.
  balance = unclaimedBalanceOf[_holder][_projectId];
  // Get a reference to the project's current token.
  IJBToken _token = tokenOf[_projectId];
  // If the project has a current token, add the holder's balance to the total.
  if (_token != IJBToken(address(0))) balance = balance + _token.balanceOf(_holder, _projectId);
}
| 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 |