https://github.com/kinetic-market/public-money-market-contracts
The incorrect DOMAIN_TYPEHASH definition breaks the EIP712 standard.
In the build of the DOMAIN TYPEHASH the string version is forgotten.
https://github.com/kinetic-market/public-money-market-contracts/blob/main/contracts/Governance/ProtocolTokenStorage.sol#L22
bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");
Acording the EIP 712, in the Definition of domainSeparator:
string version the current major version of the signing domain. Signatures from different versions are not compatible"It is recommenced to add string version, to the EIP712Domain string
bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)");