ERC2771ContextMock.sol 807 B

12345678910111213141516171819202122
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.19;
  3. import "./ContextMock.sol";
  4. import "../metatx/ERC2771Context.sol";
  5. // By inheriting from ERC2771Context, Context's internal functions are overridden automatically
  6. contract ERC2771ContextMock is ContextMock, ERC2771Context {
  7. /// @custom:oz-upgrades-unsafe-allow constructor
  8. constructor(address trustedForwarder) ERC2771Context(trustedForwarder) {
  9. emit Sender(_msgSender()); // _msgSender() should be accessible during construction
  10. }
  11. function _msgSender() internal view override(Context, ERC2771Context) returns (address) {
  12. return ERC2771Context._msgSender();
  13. }
  14. function _msgData() internal view override(Context, ERC2771Context) returns (bytes calldata) {
  15. return ERC2771Context._msgData();
  16. }
  17. }