ERC2771ContextMock.sol 769 B

123456789101112131415161718192021
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.9;
  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. constructor(address trustedForwarder) ERC2771Context(trustedForwarder) {
  8. emit Sender(_msgSender()); // _msgSender() should be accessible during construction
  9. }
  10. function _msgSender() internal view virtual override(Context, ERC2771Context) returns (address) {
  11. return ERC2771Context._msgSender();
  12. }
  13. function _msgData() internal view virtual override(Context, ERC2771Context) returns (bytes calldata) {
  14. return ERC2771Context._msgData();
  15. }
  16. }