distributePayoutsOf
Contract: JBSingleTokenPaymentTerminalStore
Interface: IJBPayoutRedemptionPaymentTerminal
- Step by step
 - Code
 - Bug bounty
 
Distributes payouts for a project with the distribution limit of its current funding cycle.
Payouts are sent to the preprogrammed splits. Any leftover is sent to the project's owner.
Anyone can distribute payouts on a project's behalf. The project can preconfigure a wildcard split that is used to send funds to msg.sender. This can be used to incentivize calling this function.
All funds distributed outside of this contract or any feeless terminals incure the protocol fee.
Definition
function distributePayoutsOf(
  uint256 _projectId,
  uint256 _amount,
  uint256 _currency,
  address _token,
  uint256 _minReturnedTokens,
  string calldata _memo
) external virtual override returns (uint256 netLeftoverDistributionAmount) { ... }
- Arguments:
_projectIdis the ID of the project having its payouts distributed._amountis the amount of terminal tokens to distribute, as a fixed point number with same number of decimals as this terminal._currencyis the expected currency of the amount being distributed. Must match the project's current funding cycle's distribution limit currency._tokenis the token being distributed. This terminal ignores this property since it only manages one token._minReturnedTokensis the minimum number of terminal tokens that the_amountshould be valued at in terms of this terminal's currency, as a fixed point number with the same number of decimals as this terminal._memois a memo to pass along to the emitted event.
 - The function can be accessed externally by anyone.
 - The function can be overriden by inheriting contracts.
 - The resulting function overrides a function definition from the 
IJBPayoutRedemptionPaymentTerminalinterface. - The function returns the amount that was sent to the project owner, as a fixed point number with the same amount of decimals as this terminal.