diff --git a/src/facets/NaymsTokenFacet.sol b/src/facets/NaymsTokenFacet.sol index 6b52c90..9f49fff 100644 --- a/src/facets/NaymsTokenFacet.sol +++ b/src/facets/NaymsTokenFacet.sol @@ -5,7 +5,7 @@ import { AppStorage, LibAppStorage } from "../shared/AppStorage.sol"; import { Modifiers } from "../shared/Modifiers.sol"; import { LibHelpers } from "../libs/LibHelpers.sol"; import { LibERC20Token } from "../libs/LibERC20Token.sol"; -import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; +import { ECDSA } from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; /** * @title Nayms token facet. @@ -117,7 +117,7 @@ contract NaymsTokenFacet is Modifiers { bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, _owner, _spender, _value, s.nonces[_owner]++, _deadline)); - bytes32 digest = keccak256(abi.encodePacked("\x19\x01", this.DOMAIN_SEPARATOR(), structHash)); + bytes32 digest = keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR(), structHash)); address signer = ECDSA.recover(digest, _v, _r, _s); if (signer == address(0) || signer != _owner) { @@ -142,7 +142,7 @@ contract NaymsTokenFacet is Modifiers { /** * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}. */ - function DOMAIN_SEPARATOR() external view returns (bytes32) { + function DOMAIN_SEPARATOR() public view returns (bytes32) { return keccak256( abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), diff --git a/src/init/InitPermit.sol b/src/init/InitPermit.sol deleted file mode 100644 index 44184bf..0000000 --- a/src/init/InitPermit.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.24; - -import { AppStorage, LibAppStorage } from "../shared/AppStorage.sol"; - -contract InitPermit { - function init() external { - uint256 initId = 2; // Using ID 2 since InitializationTest1 used ID 1 - - AppStorage storage s = LibAppStorage.diamondStorage(); - require(!s.initComplete[initId], "Initialization already complete"); - - // Initialize the domain separator and chain id - s.initialChainId = block.chainid; - s.initialDomainSeparator = _computeDomainSeparator(); - - s.initComplete[initId] = true; - } - - function _computeDomainSeparator() internal view returns (bytes32) { - return keccak256( - abi.encode( - keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), - keccak256(bytes("Naym")), // name - keccak256(bytes("1")), // version - block.chainid, - address(this) - ) - ); - } -} diff --git a/src/shared/AppStorage.sol b/src/shared/AppStorage.sol index 88b93e3..7053e2f 100644 --- a/src/shared/AppStorage.sol +++ b/src/shared/AppStorage.sol @@ -11,7 +11,8 @@ struct AppStorage { bool diamondInitialized; //// EIP712 domain separator //// uint256 initialChainId; - bytes32 initialDomainSeparator; + bytes32 initialDomainSeparator; // note: this is unused. Check the method DOMAIN_SEPARATOR() in the NaymsTokenFacet + // for the domain separator //// Reentrancy guard //// uint256 reentrancyStatus; //// NAYMS ERC20 TOKEN //// @@ -30,7 +31,6 @@ struct AppStorage { address minter; // upgrade initializations mapping(uint256 => bool) initComplete; - bytes32 DOMAIN_SEPARATOR; mapping(address permitCaller => uint256 nonce) nonces; }