IJBTerminalStore
Functions
DIRECTORY
function DIRECTORY() external view returns (IJBDirectory);
PRICES
function PRICES() external view returns (IJBPrices);
RULESETS
function RULESETS() external view returns (IJBRulesets);
balanceOf
function balanceOf(address terminal, uint256 projectId, address token) external view returns (uint256);
usedPayoutLimitOf
function usedPayoutLimitOf(
    address terminal,
    uint256 projectId,
    address token,
    uint256 rulesetCycleNumber,
    uint256 currency
)
    external
    view
    returns (uint256);
usedSurplusAllowanceOf
function usedSurplusAllowanceOf(
    address terminal,
    uint256 projectId,
    address token,
    uint256 rulesetId,
    uint256 currency
)
    external
    view
    returns (uint256);
currentReclaimableSurplusOf
function currentReclaimableSurplusOf(
    uint256 projectId,
    uint256 tokenCount,
    uint256 totalSupply,
    uint256 surplus
)
    external
    view
    returns (uint256);
currentReclaimableSurplusOf
function currentReclaimableSurplusOf(
    uint256 projectId,
    uint256 cashOutCount,
    IJBTerminal[] calldata terminals,
    JBAccountingContext[] calldata accountingContexts,
    uint256 decimals,
    uint256 currency
)
    external
    view
    returns (uint256);
currentSurplusOf
function currentSurplusOf(
    address terminal,
    uint256 projectId,
    JBAccountingContext[] calldata accountingContexts,
    uint256 decimals,
    uint256 currency
)
    external
    view
    returns (uint256);
currentTotalSurplusOf
function currentTotalSurplusOf(uint256 projectId, uint256 decimals, uint256 currency) external view returns (uint256);
recordAddedBalanceFor
function recordAddedBalanceFor(uint256 projectId, address token, uint256 amount) external;
recordPaymentFrom
function recordPaymentFrom(
    address payer,
    JBTokenAmount memory amount,
    uint256 projectId,
    address beneficiary,
    bytes calldata metadata
)
    external
    returns (JBRuleset memory ruleset, uint256 tokenCount, JBPayHookSpecification[] memory hookSpecifications);
recordPayoutFor
function recordPayoutFor(
    uint256 projectId,
    JBAccountingContext calldata accountingContext,
    uint256 amount,
    uint256 currency
)
    external
    returns (JBRuleset memory ruleset, uint256 amountPaidOut);
recordCashOutFor
function recordCashOutFor(
    address holder,
    uint256 projectId,
    uint256 cashOutCount,
    JBAccountingContext calldata accountingContext,
    JBAccountingContext[] calldata balanceAccountingContexts,
    bytes calldata metadata
)
    external
    returns (
        JBRuleset memory ruleset,
        uint256 reclaimAmount,
        uint256 cashOutTaxRate,
        JBCashOutHookSpecification[] memory hookSpecifications
    );
recordTerminalMigration
function recordTerminalMigration(uint256 projectId, address token) external returns (uint256 balance);
recordUsedAllowanceOf
function recordUsedAllowanceOf(
    uint256 projectId,
    JBAccountingContext calldata accountingContext,
    uint256 amount,
    uint256 currency
)
    external
    returns (JBRuleset memory ruleset, uint256 usedAmount);