JBERC20PaymentTerminal
Manages all inflows and outflows of an ERC20 into the protocol ecosystem.
Code
https://github.com/jbx-protocol/juice-contracts-v2/blob/main/contracts/JBERC20PaymentTerminal.sol
Addresses
Ethereum mainnet: Not yet deployed
Interfaces
| Contract | Description | 
|---|---|
IJBPayoutRedemptionPaymentTerminal | Generic terminal managing all inflows and outflows of funds into the protocol ecosystem. | 
Constructor
/**
  @param _token The token that this terminal manages.
  @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(
  IERC20Metadata _token,
  uint256 _currency,
  uint256 _baseWeightCurrency,
  uint256 _payoutSplitsGroup,
  IJBOperatorStore _operatorStore,
  IJBProjects _projects,
  IJBDirectory _directory,
  IJBSplitsStore _splitsStore,
  IJBPrices _prices,
  IJBSingleTokenPaymentTerminalStore _store,
  address _owner
)
  JBPayoutRedemptionPaymentTerminal(
    address(_token),
    _token.decimals(),
    _currency,
    _baseWeightCurrency,
    _payoutSplitsGroup,
    _operatorStore,
    _projects,
    _directory,
    _splitsStore,
    _prices,
    _store,
    _owner
  )
{}
_tokenis the ERC20 token that this terminal manages._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.
Write
| Function | Definition | 
|---|---|
_transferFrom | Traits 
 Params 
  | 
_beforeTransferTo | Traits 
 Params 
  |