JBPayoutRedemptionPaymentTerminal
Generic terminal managing all inflows and outflows of funds into the protocol ecosystem.
Traits
abstract
Code
Interfaces
| Name | Description | 
|---|---|
IJBPayoutRedemptionPaymentTerminal | General interface for the methods in this contract that interact with the blockchain's state according to the protocol's rules. | 
Inheritance
| Contract | Description | 
|---|---|
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. | 
ReentrancyGuard | Contract module that helps prevent reentrant calls to a function. | 
Constructor
/**
  @param _token The token that this terminal manages.
  @param _decimals The number of decimals the token fixed point amounts are expected to have.
  @param _currency The currency that this terminal's token adheres to for price feeds.
  @param _baseWeightCurrency The currency to base token issuance on.
  @param _payoutSplitsGroup The group that denotes payout splits from this terminal in the splits store.
  @param _operatorStore A contract storing operator assignments.
  @param _projects A contract which mints ERC-721's that represent project ownership and transfers.
  @param _directory A contract storing directories of terminals and controllers for each project.
  @param _splitsStore A contract that stores splits for each project.
  @param _prices A contract that exposes price feeds.
  @param _store A contract that stores the terminal's data.
  @param _owner The address that will own this contract.
*/
constructor( // payable constructor save the gas used to check msg.value==0
  address _token,
  uint256 _decimals,
  uint256 _currency,
  uint256 _baseWeightCurrency,
  uint256 _payoutSplitsGroup,
  IJBOperatorStore _operatorStore,
  IJBProjects _projects,
  IJBDirectory _directory,
  IJBSplitsStore _splitsStore,
  IJBPrices _prices,
  IJBSingleTokenPaymentTerminalStore _store,
  address _owner
) payable JBSingleTokenPaymentTerminal(_token, _decimals, _currency) JBOperatable(_operatorStore) {
  baseWeightCurrency = _baseWeightCurrency;
  payoutSplitsGroup = _payoutSplitsGroup;
  projects = _projects;
  directory = _directory;
  splitsStore = _splitsStore;
  prices = _prices;
  store = _store;
  transferOwnership(_owner);
}
_tokenis the token that this terminal manages._decimalsis the number of decimals the token fixed point amounts are expected to have._currencyis the currency that this terminal's token adheres to for price feeds. FromJBCurrencies._baseWeightCurrencyis the currency to base token issuance on. FromJBCurrencies._payoutSplitsGroupis the group that denotes payout splits from this terminal in the splits store. FromJBSplitGroups._operatorStoreis anIJBOperatorStorecontract storing operator assignments._projectsis anIJBProjectscontract which mints ERC-721's that represent project ownership and transfers._directoryis anIJBDirectorycontract storing directories of terminals and controllers for each project._splitsStoreis anIJBSplitsStorecontract that stores splits for each project._pricesis anIJBPricescontract that exposes price feeds._storeis a contract that stores the terminal's data._owneris the address that will own this contract.
Events
| Name | Data | 
|---|---|
AddToBalance | 
  | 
Migrate | 
  | 
DistributePayouts | 
  | 
UseAllowance | 
  | 
ProcessFee | 
  | 
RefundHeldFees | 
  | 
HoldFee | 
  | 
Pay | 
  | 
DelegateDidPay | 
  | 
RedeemTokens | 
  | 
DelegateDidRedeem | 
  | 
DistributeToPayoutSplit | 
  | 
SetFee | 
  | 
SetFeeGauge | 
  | 
SetFeelessAddress | 
  | 
Modifiers
| Function | Definition | 
|---|---|
isTerminalOf | Params 
  | 
Properties
| Function | Definition | 
|---|---|
projects | Traits 
 Returns  | 
directory | Traits 
 Returns  | 
splitsStore | Traits 
 Returns  | 
prices | Traits 
 Returns  | 
store | Traits 
 Returns  | 
baseWeightCurrency | Traits 
 Returns 
  | 
payoutSplitsGroup | Traits 
 Returns 
  | 
fee | Returns 
  | 
feeGauge | Params 
 Returns  | 
isFeelessAddress | returns 
  | 
Read
| Function | Definition | 
|---|---|
currentEthOverflowOf | Params 
 Returns 
  | 
heldFeesOf | Params 
 Returns 
  | 
supportsInterface | Params 
 Returns 
  | 
Write
| Function | Definition | 
|---|---|
pay | Traits 
 Params 
 Returns 
  | 
distributePayoutsOf | Traits 
 Params 
 Returns 
  | 
useAllowanceOf | Traits 
 Params 
 Returns 
  | 
redeemTokensOf | Traits 
 Params 
 Returns 
  | 
migrate | Traits 
 Params 
 Returns 
  | 
addToBalanceOf | Traits 
 Params 
  | 
processFees | Traits Params 
  | 
setFee | Traits 
 Params 
  | 
setFeeGauge | Traits 
 Params 
  | 
setFeelessAddress | Traits 
 Params 
  | 
_transferFrom | Traits 
 Params 
  | 
_beforeTransferTo | Traits 
 Params 
  |