makePay
Function Type: internal
The makePay
function facilitates payment processing through the EVVM contract, directing transactions to either synchronous or asynchronous processing paths based on specified parameters.
Parameters
Parameter | Type | Description |
---|---|---|
user | address | User address for the payment transaction |
amount | uint256 | Amount of tokens involved in the transaction |
priorityFee | uint256 | EVVM priority fee for transaction processing |
priorityFlag | bool | EVVM execution mode (true = async, false = sync) |
nonce | uint256 | EVVM payment operation nonce for replay protection |
signature | bytes | EVVM payment authorization signature |
Workflow
- Processing Mode Selection: Evaluates the
priorityFlag
parameter:- If
true
: InitiatespayStaker_async
for asynchronous processing - If
false
: InitiatespayStaker_sync
for synchronous processing
- If
- Payment Execution: Forwards parameters to the appropriate EVVM contract function for payment processing and staking management
- Both functions receive: user address, contract address, empty string, PRINCIPAL_TOKEN_ADDRESS, amount, priorityFee, nonce, contract address, and signature
Description
This internal function serves as a router for EVVM payment operations, ensuring that payment requests are processed through the appropriate execution path based on the priority flag setting. It standardizes the interface between the staking contract and the EVVM payment system.
note
The EVVM payment signature follows the Single Payment Signature Structure.