Skip to content

Commit 7ccb105

Browse files
authored
Refactor ZKEmailUtils toPubSignals to receive an EmailProof (#209)z
1 parent b27c8c7 commit 7ccb105

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

contracts/utils/cryptography/ZKEmailUtils.sol

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {Bytes} from "@openzeppelin/contracts/utils/Bytes.sol";
66
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
77
import {IDKIMRegistry} from "@zk-email/contracts/DKIMRegistry.sol";
88
import {IGroth16Verifier} from "@zk-email/email-tx-builder/src/interfaces/IGroth16Verifier.sol";
9-
import {EmailAuthMsg} from "@zk-email/email-tx-builder/src/interfaces/IEmailTypes.sol";
9+
import {EmailAuthMsg, EmailProof} from "@zk-email/email-tx-builder/src/interfaces/IEmailTypes.sol";
1010
import {CommandUtils} from "@zk-email/email-tx-builder/src/libraries/CommandUtils.sol";
1111

1212
/**
@@ -129,7 +129,7 @@ library ZKEmailUtils {
129129
) return EmailProofError.InvalidFieldPoint;
130130

131131
return
132-
groth16Verifier.verifyProof(pA, pB, pC, toPubSignals(emailAuthMsg))
132+
groth16Verifier.verifyProof(pA, pB, pC, toPubSignals(emailAuthMsg.proof))
133133
? EmailProofError.NoError
134134
: EmailProofError.EmailProof;
135135
}
@@ -159,26 +159,26 @@ library ZKEmailUtils {
159159
* into a uint256 array in the order expected by the verifier circuit.
160160
*/
161161
function toPubSignals(
162-
EmailAuthMsg memory emailAuthMsg
162+
EmailProof memory proof
163163
) internal pure returns (uint256[DOMAIN_FIELDS + COMMAND_FIELDS + 5] memory pubSignals) {
164164
uint256[] memory stringFields;
165165

166-
stringFields = _packBytes2Fields(bytes(emailAuthMsg.proof.domainName), DOMAIN_BYTES);
166+
stringFields = _packBytes2Fields(bytes(proof.domainName), DOMAIN_BYTES);
167167
for (uint256 i = 0; i < DOMAIN_FIELDS; i++) {
168168
pubSignals[i] = stringFields[i];
169169
}
170170

171-
pubSignals[DOMAIN_FIELDS] = uint256(emailAuthMsg.proof.publicKeyHash);
172-
pubSignals[DOMAIN_FIELDS + 1] = uint256(emailAuthMsg.proof.emailNullifier);
173-
pubSignals[DOMAIN_FIELDS + 2] = uint256(emailAuthMsg.proof.timestamp);
171+
pubSignals[DOMAIN_FIELDS] = uint256(proof.publicKeyHash);
172+
pubSignals[DOMAIN_FIELDS + 1] = uint256(proof.emailNullifier);
173+
pubSignals[DOMAIN_FIELDS + 2] = uint256(proof.timestamp);
174174

175-
stringFields = _packBytes2Fields(bytes(emailAuthMsg.proof.maskedCommand), COMMAND_BYTES);
175+
stringFields = _packBytes2Fields(bytes(proof.maskedCommand), COMMAND_BYTES);
176176
for (uint256 i = 0; i < COMMAND_FIELDS; i++) {
177177
pubSignals[DOMAIN_FIELDS + 3 + i] = stringFields[i];
178178
}
179179

180-
pubSignals[DOMAIN_FIELDS + 3 + COMMAND_FIELDS] = uint256(emailAuthMsg.proof.accountSalt);
181-
pubSignals[DOMAIN_FIELDS + 3 + COMMAND_FIELDS + 1] = emailAuthMsg.proof.isCodeExist ? 1 : 0;
180+
pubSignals[DOMAIN_FIELDS + 3 + COMMAND_FIELDS] = uint256(proof.accountSalt);
181+
pubSignals[DOMAIN_FIELDS + 3 + COMMAND_FIELDS + 1] = proof.isCodeExist ? 1 : 0;
182182

183183
return pubSignals;
184184
}
@@ -193,11 +193,11 @@ library ZKEmailUtils {
193193
if (remain > 0) {
194194
numFields += 1;
195195
}
196-
uint256[] memory fields = new uint[](numFields);
197-
uint256 idx = 0;
198-
uint256 byteVal = 0;
199-
for (uint256 i = 0; i < numFields; i++) {
200-
for (uint256 j = 0; j < 31; j++) {
196+
uint256[] memory fields = new uint256[](numFields);
197+
uint256 idx;
198+
uint256 byteVal;
199+
for (uint256 i; i < numFields; i++) {
200+
for (uint256 j; j < 31; j++) {
201201
idx = i * 31 + j;
202202
if (idx >= _paddedSize) {
203203
break;

0 commit comments

Comments
 (0)