JBSingleTokenPaymentTerminalStore3_1
Manages all bookkeeping for inflows and outflows of funds from any IJBSingleTokenPaymentTerminal
.
Mainnet: 0x77b0A81AeB61d08C0b23c739969d22c5C9950336
Goerli: 0x101cA528F6c2E35664529eB8aa0419Ae1f724b49
Inherits: ReentrancyGuard
, IJBSingleTokenPaymentTerminalStore
Adheres to:
IJBSingleTokenPaymentTerminalStore
: General interface for the methods in this contract that interact with the blockchain's state according to the protocol's rules.
Inherits from:
ReentrancyGuard
: Contract module that helps prevent reentrant calls to a function.
This Store expects a project's controller to be an IJBController3_1
. This is the only difference between this version and the original.
State Variables
_MAX_FIXED_POINT_FIDELITY
Ensures a maximum number of decimal points of persisted fidelity on mulDiv operations of fixed point numbers.
uint256 private constant _MAX_FIXED_POINT_FIDELITY = 18;
directory
The directory of terminals and controllers for projects.
IJBDirectory public immutable override directory;
fundingCycleStore
The contract storing all funding cycle configurations.
IJBFundingCycleStore public immutable override fundingCycleStore;
prices
The contract that exposes price feeds.
IJBPrices public immutable override prices;
balanceOf
The amount of tokens that each project has for each terminal, in terms of the terminal's token.
The used distribution limit is represented as a fixed point number with the same amount of decimals as its relative terminal.
- _terminal The terminal to which the balance applies.
- _projectId The ID of the project to get the balance of.
mapping(IJBSingleTokenPaymentTerminal => mapping(uint256 => uint256)) public override balanceOf;
usedDistributionLimitOf
The amount of funds that a project has distributed from its limit during the current funding cycle for each terminal, in terms of the distribution limit's currency.
Increases as projects use their preconfigured distribution limits.
The used distribution limit is represented as a fixed point number with the same amount of decimals as its relative terminal.
- _terminal The terminal to which the used distribution limit applies.
- _projectId The ID of the project to get the used distribution limit of.
- _fundingCycleNumber The number of the funding cycle during which the distribution limit was used.
mapping(IJBSingleTokenPaymentTerminal => mapping(uint256 => mapping(uint256 => uint256))) public override
usedDistributionLimitOf;
usedOverflowAllowanceOf
The amount of funds that a project has used from its allowance during the current funding cycle configuration for each terminal, in terms of the overflow allowance's currency.
Increases as projects use their allowance.
The used allowance is represented as a fixed point number with the same amount of decimals as its relative terminal.
- _terminal The terminal to which the overflow allowance applies.
- _projectId The ID of the project to get the used overflow allowance of.
- _configuration The configuration of the during which the allowance was used.
mapping(IJBSingleTokenPaymentTerminal => mapping(uint256 => mapping(uint256 => uint256))) public override
usedOverflowAllowanceOf;