Expose `_isTrustedByTarget` internally in ERC2771Forwarder (#5416)

pull/5429/head
Ernesto García 3 weeks ago committed by GitHub
parent 13781c1f49
commit 96b40d02c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      .changeset/famous-timers-compare.md
  2. 5
      contracts/metatx/ERC2771Forwarder.sol

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`ERC2771Forwarder`: Expose the `_isTrustedByTarget` internal function to check whether a target trusts the forwarder.

@ -302,8 +302,11 @@ contract ERC2771Forwarder is EIP712, Nonces {
*
* This function performs a static call to the target contract calling the
* {ERC2771Context-isTrustedForwarder} function.
*
* NOTE: Consider the execution of this forwarder is permissionless. Without this check, anyone may transfer assets
* that are owned by, or are approved to this forwarder.
*/
function _isTrustedByTarget(address target) private view returns (bool) {
function _isTrustedByTarget(address target) internal view virtual returns (bool) {
bytes memory encodedParams = abi.encodeCall(ERC2771Context.isTrustedForwarder, (address(this)));
bool success;

Loading…
Cancel
Save