From c36f1eb62bcc049d80066f985f5ae712efd39e53 Mon Sep 17 00:00:00 2001 From: Mikhail Melnik Date: Tue, 19 Mar 2024 21:17:06 +0400 Subject: [PATCH] simplify mock --- contracts/tests/mocks/USDCLikePermitMock.sol | 29 +------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/contracts/tests/mocks/USDCLikePermitMock.sol b/contracts/tests/mocks/USDCLikePermitMock.sol index 7015a57..bbfe9c5 100644 --- a/contracts/tests/mocks/USDCLikePermitMock.sol +++ b/contracts/tests/mocks/USDCLikePermitMock.sol @@ -42,8 +42,7 @@ contract USDCLikePermitMock is ERC20Permit { revert PermitExpired(); } - bytes32 typedDataHash = _toTypedDataHash( - _domainSeparatorV4(), + bytes32 typedDataHash = _hashTypedDataV4( keccak256( abi.encode( PERMIT_TYPEHASH, @@ -61,32 +60,6 @@ contract USDCLikePermitMock is ERC20Permit { _approve(owner, spender, value); } - /** - * @dev Returns the keccak256 digest of an EIP-712 typed data (EIP-191 version `0x01`). - * Adapted from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/21bb89ef5bfc789b9333eb05e3ba2b7b284ac77c/contracts/utils/cryptography/MessageHashUtils.sol - * - * The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with - * `\x19\x01` and hashing the result. It corresponds to the hash signed by the - * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712. - * - * @param domainSeparator Domain separator - * @param structHash Hashed EIP-712 data struct - * @return digest The keccak256 digest of an EIP-712 typed data - */ - function _toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) - internal - pure - returns (bytes32 digest) - { - assembly { // solhint-disable-line no-inline-assembly - let ptr := mload(0x40) - mstore(ptr, "\x19\x01") - mstore(add(ptr, 0x02), domainSeparator) - mstore(add(ptr, 0x22), structHash) - digest := keccak256(ptr, 0x42) - } - } - function _isValidERC1271SignatureNow( address signer, bytes32 digest,