Last updated
Last updated
Inherits: Module_v1, IPaymentProcessor_v1
Author: Inverter Network
Manages ERC20 payment processing for modules within the Inverter Network that are compliant with the {IERC20PaymentClientBase_v1} interface.
Inherits {Module_v1} and implements {IPaymentProcessor_v1} to handle payment orders from registered modules, ensuring only eligible modules can initiate payments. Utilizes {SafeERC20} for secure token transfers.
Tracks all payments that could not be made to the paymentReceiver due to any reason.
paymentClient => token address => paymentReceiver => unclaimable Amount.
Gap for possible future upgrades.
See {IERC165-supportsInterface}.
Checks that the caller is an active module.
Checks that the client is calling for itself.
init
Processes all payments from an {IERC20PaymentClientBase_v1} instance. Please note: this function does not support callbacks on transfer of tokens.
It's up to the the implementation to keep up with what has been paid out or not.
Parameters
Cancels all unfinished payments from an {IERC20PaymentClientBase_v1} instance.
It's up to the the implementation to keep up with what has been paid out or not.
Parameters
Getter for the amount of tokens that could not be claimed.
Parameters
Returns
claim every unclaimable amount that the paymentClient owes to the _msgSender and send it to a specified receiver.
This function should be callable if the _msgSender has unclaimedAmounts.
Parameters
Function that checks if the given PaymentOrder was valid.
Parameters
Returns
used to claim the unclaimable amount of a particular paymentReceiver
for a given payment client.
Parameters
Validate address input.
Parameters
Returns
Validate uint total amount input.
Parameters
Returns
Validate payment token input.
Parameters
Returns