JBERC20PaymentTerminal3_1_2
Inherits: JBPayoutRedemptionPaymentTerminal3_1_2
Manages the inflows and outflows of an ERC-20 token.
Functions
_balance
Checks the balance of tokens in this contract.
function _balance() internal view override returns (uint256);
Returns
| Name | Type | Description | 
|---|---|---|
<none> | uint256 | The contract's balance, as a fixed point number with the same amount of decimals as this terminal. | 
constructor
constructor(
    IERC20Metadata _token,
    uint256 _currency,
    uint256 _baseWeightCurrency,
    uint256 _payoutSplitsGroup,
    IJBOperatorStore _operatorStore,
    IJBProjects _projects,
    IJBDirectory _directory,
    IJBSplitsStore _splitsStore,
    IJBPrices _prices,
    address _store,
    address _owner
)
    JBPayoutRedemptionPaymentTerminal3_1_2(
        address(_token),
        _token.decimals(),
        _currency,
        _baseWeightCurrency,
        _payoutSplitsGroup,
        _operatorStore,
        _projects,
        _directory,
        _splitsStore,
        _prices,
        _store,
        _owner
    );
Parameters
| Name | Type | Description | 
|---|---|---|
_token | IERC20Metadata | The token that this terminal manages. | 
_currency | uint256 | The currency that this terminal's token adheres to for price feeds. | 
_baseWeightCurrency | uint256 | The currency to base token issuance on. | 
_payoutSplitsGroup | uint256 | The group that denotes payout splits from this terminal in the splits store. | 
_operatorStore | IJBOperatorStore | A contract storing operator assignments. | 
_projects | IJBProjects | A contract which mints ERC-721's that represent project ownership and transfers. | 
_directory | IJBDirectory | A contract storing directories of terminals and controllers for each project. | 
_splitsStore | IJBSplitsStore | A contract that stores splits for each project. | 
_prices | IJBPrices | A contract that exposes price feeds. | 
_store | address | A contract that stores the terminal's data. | 
_owner | address | The address that will own this contract. | 
_transferFrom
Transfers tokens.
function _transferFrom(address _from, address payable _to, uint256 _amount) internal override;
Parameters
| Name | Type | Description | 
|---|---|---|
_from | address | The address from which the transfer should originate. | 
_to | address payable | The address to which the transfer should go. | 
_amount | uint256 | The amount of the transfer, as a fixed point number with the same number of decimals as this terminal. | 
_beforeTransferTo
Logic to be triggered before transferring tokens from this terminal.
function _beforeTransferTo(address _to, uint256 _amount) internal override;
Parameters
| Name | Type | Description | 
|---|---|---|
_to | address | The address to which the transfer is going. | 
_amount | uint256 | The amount of the transfer, as a fixed point number with the same number of decimals as this terminal. | 
_cancelTransferTo
Logic to be triggered if a transfer should be undone
function _cancelTransferTo(address _to, uint256 _amount) internal override;
Parameters
| Name | Type | Description | 
|---|---|---|
_to | address | The address to which the transfer went. | 
_amount | uint256 | The amount of the transfer, as a fixed point number with the same number of decimals as this terminal. |