JBPayoutRedemptionPaymentTerminal3_1
Generic terminal managing all inflows and outflows of funds into the protocol ecosystem.
Inherits: JBSingleTokenPaymentTerminal
, JBOperatable
, Ownable
, IJBPayoutRedemptionPaymentTerminal3_1
A project can transfer its funds, along with the power to reconfigure and mint/burn their tokens, from this contract to another allowed terminal of the same token type contract at any time.
Adheres to:
IJBPayoutRedemptionPaymentTerminal3_1
: General interface for the methods in this contract that interact with the blockchain's state according to the protocol's rules.
Inherits from:
JBSingleTokenPaymentTerminal
: Generic terminal managing all inflows of funds into the protocol ecosystem for one token.JBOperatable
: Includes convenience functionality for checking a message sender's permissions before executing certain transactions.Ownable
: Includes convenience functionality for checking a message sender's permissions before executing certain transactions.*
State Variables
_FEE_CAP
Maximum fee that can be set for a funding cycle configuration.
Out of MAX_FEE (50_000_000 / 1_000_000_000).
uint256 internal constant _FEE_CAP = 50_000_000;
_FEE_BENEFICIARY_PROJECT_ID
The fee beneficiary project ID is 1, as it should be the first project launched during the deployment process.
uint256 internal constant _FEE_BENEFICIARY_PROJECT_ID = 1;
_heldFeesOf
Fees that are being held to be processed later.
- _projectId The ID of the project for which fees are being held.
mapping(uint256 => JBFee[]) internal _heldFeesOf;
projects
Mints ERC-721's that represent project ownership and transfers.
IJBProjects public immutable override projects;
directory
The directory of terminals and controllers for projects.
IJBDirectory public immutable override directory;
splitsStore
The contract that stores splits for each project.
IJBSplitsStore public immutable override splitsStore;
prices
The contract that exposes price feeds.
IJBPrices public immutable override prices;
store
The contract that stores and manages the terminal's data.
IJBSingleTokenPaymentTerminalStore public immutable override store;