Overview
Abstract contract extendingVerifierModule, implementing low-level contract calls with verification via a pluggable verifier.
call
Description
Executes a low-level call to a target contract after validating the call parameters through an externalVerifier contract. The verification logic is determined by the verification type specified in the Verifier contract.
For details on available verification types, refer to the Verifier specification.
Parameters
where: The address of the target contract.value: The ETH value to send along with the call.data: Calldata to pass to the target contract.payload: Encoded verification payload used to authorize the call.
Returns
response: The raw returned data from the target contract call.
Requirements
- All the provided parameters must be externally verified via
verifier().verifyCall. - Reentrancy is prevented via
nonReentrantmodifier.