ERC1271WalletMockUpgradeable.sol 991 B

12345678910111213141516171819202122232425
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../access/OwnableUpgradeable.sol";
  4. import "../interfaces/IERC1271Upgradeable.sol";
  5. import "../utils/cryptography/ECDSAUpgradeable.sol";
  6. import "../proxy/utils/Initializable.sol";
  7. contract ERC1271WalletMockUpgradeable is Initializable, OwnableUpgradeable, IERC1271Upgradeable {
  8. function __ERC1271WalletMock_init(address originalOwner) internal onlyInitializing {
  9. __Context_init_unchained();
  10. __Ownable_init_unchained();
  11. __ERC1271WalletMock_init_unchained(originalOwner);
  12. }
  13. function __ERC1271WalletMock_init_unchained(address originalOwner) internal onlyInitializing {
  14. transferOwnership(originalOwner);
  15. }
  16. function isValidSignature(bytes32 hash, bytes memory signature) public view override returns (bytes4 magicValue) {
  17. return ECDSAUpgradeable.recover(hash, signature) == owner() ? this.isValidSignature.selector : bytes4(0);
  18. }
  19. uint256[50] private __gap;
  20. }