Skip to main content

IJBTokenStore

Code​

https://github.com/jbx-protocol/juice-contracts-v3/blob/main/contracts/interfaces/IJBTokenStore.sol

Definition​

interface IJBTokenStore {
event Issue(
uint256 indexed projectId,
IJBToken indexed token,
string name,
string symbol,
address caller
);

event Mint(
address indexed holder,
uint256 indexed projectId,
uint256 amount,
bool tokensWereClaimed,
bool preferClaimedTokens,
address caller
);

event Burn(
address indexed holder,
uint256 indexed projectId,
uint256 amount,
uint256 initialUnclaimedBalance,
uint256 initialClaimedBalance,
bool preferClaimedTokens,
address caller
);

event Claim(
address indexed holder,
uint256 indexed projectId,
uint256 initialUnclaimedBalance,
uint256 amount,
address caller
);

event Set(uint256 indexed projectId, IJBToken indexed newToken, address caller);

event Transfer(
address indexed holder,
uint256 indexed projectId,
address indexed recipient,
uint256 amount,
address caller
);

function tokenOf(uint256 _projectId) external view returns (IJBToken);

function projects() external view returns (IJBProjects);

function fundingCycleStore() external view returns (IJBFundingCycleStore);

function unclaimedBalanceOf(address _holder, uint256 _projectId) external view returns (uint256);

function unclaimedTotalSupplyOf(uint256 _projectId) external view returns (uint256);

function totalSupplyOf(uint256 _projectId) external view returns (uint256);

function balanceOf(address _holder, uint256 _projectId) external view returns (uint256 _result);

function issueFor(
uint256 _projectId,
string calldata _name,
string calldata _symbol
) external returns (IJBToken token);

function setFor(uint256 _projectId, IJBToken _token) external;

function burnFrom(
address _holder,
uint256 _projectId,
uint256 _amount,
bool _preferClaimedTokens
) external;

function mintFor(
address _holder,
uint256 _projectId,
uint256 _amount,
bool _preferClaimedTokens
) external;

function claimFor(
address _holder,
uint256 _projectId,
uint256 _amount
) external;

function transferFrom(
address _holder,
uint256 _projectId,
address _recipient,
uint256 _amount
) external;
}