Skip to content

Commit e8fa099

Browse files
committed
Simplify return type for ZKEmailUtils.isValidZKEmail
1 parent 900b668 commit e8fa099

File tree

2 files changed

+15
-19
lines changed

2 files changed

+15
-19
lines changed

contracts/utils/cryptography/SignerZKEmail.sol

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ abstract contract SignerZKEmail is AbstractSigner {
117117
* to prevent replay attacks, similar to how nonces are used with ECDSA signatures.
118118
*/
119119
function verifyEmail(EmailAuthMsg memory emailAuthMsg) public view virtual {
120-
(bool verified, ZKEmailUtils.EmailProofError err) = emailAuthMsg.isValidZKEmail(DKIMRegistry(), verifier());
121-
if (!verified) revert InvalidEmailProof(err);
120+
ZKEmailUtils.EmailProofError err = emailAuthMsg.isValidZKEmail(DKIMRegistry(), verifier());
121+
if (err != ZKEmailUtils.EmailProofError.NoError) revert InvalidEmailProof(err);
122122
}
123123

124124
/**
@@ -135,15 +135,9 @@ abstract contract SignerZKEmail is AbstractSigner {
135135
bytes calldata signature
136136
) internal view virtual override returns (bool) {
137137
EmailAuthMsg memory emailAuthMsg = abi.decode(signature, (EmailAuthMsg));
138-
if (
139-
abi.decode(emailAuthMsg.commandParams[0], (bytes32)) == hash &&
138+
return (abi.decode(emailAuthMsg.commandParams[0], (bytes32)) == hash &&
140139
emailAuthMsg.templateId == commandTemplate() &&
141-
emailAuthMsg.proof.accountSalt == accountSalt()
142-
) {
143-
(bool verified, ) = emailAuthMsg.isValidZKEmail(DKIMRegistry(), verifier());
144-
return verified;
145-
} else {
146-
return false;
147-
}
140+
emailAuthMsg.proof.accountSalt == accountSalt() &&
141+
emailAuthMsg.isValidZKEmail(DKIMRegistry(), verifier()) == ZKEmailUtils.EmailProofError.NoError);
148142
}
149143
}

contracts/utils/cryptography/ZKEmailUtils.sol

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ library ZKEmailUtils {
6060
EmailAuthMsg memory emailAuthMsg,
6161
IDKIMRegistry dkimregistry,
6262
IVerifier verifier
63-
) internal view returns (bool, EmailProofError) {
63+
) internal view returns (EmailProofError) {
6464
if (!dkimregistry.isDKIMPublicKeyHashValid(emailAuthMsg.proof.domainName, emailAuthMsg.proof.publicKeyHash)) {
65-
return (false, EmailProofError.DKIMPublicKeyHash);
65+
return EmailProofError.DKIMPublicKeyHash;
6666
} else if (bytes(emailAuthMsg.proof.maskedCommand).length > verifier.commandBytes()) {
67-
return (false, EmailProofError.MaskedCommandLength);
67+
return EmailProofError.MaskedCommandLength;
6868
} else if (emailAuthMsg.skippedCommandPrefix >= verifier.commandBytes()) {
69-
return (false, EmailProofError.SkippedCommandPrefixSize);
69+
return EmailProofError.SkippedCommandPrefixSize;
7070
} else {
7171
string[] memory signHashTemplate = new string[](2);
7272
signHashTemplate[0] = "signHash";
@@ -77,17 +77,19 @@ library ZKEmailUtils {
7777
emailAuthMsg.proof.maskedCommand,
7878
emailAuthMsg.skippedCommandPrefix
7979
);
80-
for (uint256 stringCase = 0; stringCase < 2; stringCase++) {
80+
for (uint256 stringCase = 0; stringCase < 3; stringCase++) {
8181
if (
8282
CommandUtils.computeExpectedCommand(emailAuthMsg.commandParams, signHashTemplate, stringCase).equal(
8383
trimmedMaskedCommand
8484
)
8585
) {
86-
if (verifier.verifyEmailProof(emailAuthMsg.proof)) return (true, EmailProofError.NoError);
87-
else return (false, EmailProofError.EmailProof);
86+
return
87+
verifier.verifyEmailProof(emailAuthMsg.proof)
88+
? EmailProofError.NoError
89+
: EmailProofError.EmailProof;
8890
}
8991
}
90-
return (false, EmailProofError.Command);
92+
return EmailProofError.Command;
9193
}
9294
}
9395
}

0 commit comments

Comments
 (0)