JBMultiTerminal
Inherits: JBPermissioned, ERC2771Context, IJBMultiTerminal
JBMultiTerminal
manages native/ERC-20 payments, cash outs, and surplus allowance usage for any number of
projects. Terminals are the entry point for operations involving inflows and outflows of funds.
State Variables
FEE
This terminal's fee (as a fraction out of JBConstants.MAX_FEE
).
Fees are charged on payouts to addresses and surplus allowance usage, as well as cash outs while the cash out tax rate is less than 100%.
uint256 public constant override FEE = 25;
_FEE_BENEFICIARY_PROJECT_ID
Project ID #1 receives fees. It should be the first project launched during the deployment process.
uint256 internal constant _FEE_BENEFICIARY_PROJECT_ID = 1;
_FEE_HOLDING_SECONDS
The number of seconds fees can be held for.
uint256 internal constant _FEE_HOLDING_SECONDS = 2_419_200;
DIRECTORY
The directory of terminals and controllers for PROJECTS.
IJBDirectory public immutable override DIRECTORY;
FEELESS_ADDRESSES
The contract that stores addresses that shouldn't incur fees when being paid towards or from.
IJBFeelessAddresses public immutable override FEELESS_ADDRESSES;
PERMIT2
The permit2 utility.
IPermit2 public immutable override PERMIT2;
PROJECTS
Mints ERC-721s that represent project ownership and transfers.
IJBProjects public immutable override PROJECTS;
RULESETS
The contract storing and managing project rulesets.
IJBRulesets public immutable override RULESETS;
SPLITS
The contract that stores splits for each project.
IJBSplits public immutable override SPLITS;
STORE
The contract that stores and manages the terminal's data.
IJBTerminalStore public immutable override STORE;
TOKENS
The contract storing and managing project rulesets.
IJBTokens public immutable override TOKENS;