JBFundAccessLimits
Inherits: JBControlled, IJBFundAccessLimits
Stores and manages terminal fund access limits for each project.
See the JBFundAccessLimitGroup
struct to learn about payout limits and surplus allowances.
State Variables
_packedPayoutLimitsDataOf
An array of packed payout limits for a given project, ruleset, terminal, and token.
bits 0-223: The maximum amount (in a specific currency) of the terminal's token
s that the project can pay
out during the ruleset.
bits 224-255: The currency that the payout limit is denominated in. If this currency is different from the
terminal's token
, the payout limit will vary depending on their exchange rate.
mapping(
uint256 projectId => mapping(uint256 rulesetId => mapping(address terminal => mapping(address token => uint256[])))
) internal _packedPayoutLimitsDataOf;
_packedSurplusAllowancesDataOf
An array of packed surplus allowances for a given project, ruleset, terminal, and token.
bits 0-223: The maximum amount (in a specific currency) of the terminal's token
s that the project can
access from its surplus during the ruleset.
bits 224-255: The currency that the surplus allowance is denominated in. If this currency is different from
the terminal's token
, the surplus allowance will vary depending on their exchange rate.
mapping(
uint256 projectId => mapping(uint256 rulesetId => mapping(address terminal => mapping(address token => uint256[])))
) internal _packedSurplusAllowancesDataOf;
Functions
constructor
constructor(IJBDirectory directory) JBControlled(directory);
Parameters
Name | Type | Description |
---|---|---|
directory | IJBDirectory | A contract storing the terminals and the controller used by each project. |