Skip to content

Commit 1dee0c5

Browse files
committed
chore: fmt
1 parent 3dda259 commit 1dee0c5

16 files changed

+205
-383
lines changed

circom/script/ZKEmailProof.s.sol

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
// SPDX-License-Identifier: UNLICENSED
22
pragma solidity ^0.8.13;
33

4-
import {Script, console} from "forge-std/Script.sol";
5-
import {DKIMRegistry} from "@zk-email/contracts/DKIMRegistry.sol";
6-
import {IExtractGoogleDomain_Groth16Verifier} from "../contracts/interfaces/IExtractGoogleDomain_Groth16Verifier.sol";
7-
import {ZKEmailProof, Proof, ZKEmailProofMetadata} from "../contracts/ZKEmailProof.sol";
8-
import {TestVerifier} from "../contracts/test/TestVerifier.sol";
4+
import { Script, console } from "forge-std/Script.sol";
5+
import { DKIMRegistry } from "@zk-email/contracts/DKIMRegistry.sol";
6+
import { IExtractGoogleDomain_Groth16Verifier } from "../contracts/interfaces/IExtractGoogleDomain_Groth16Verifier.sol";
7+
import { ZKEmailProof, Proof, ZKEmailProofMetadata } from "../contracts/ZKEmailProof.sol";
8+
import { TestVerifier } from "../contracts/test/TestVerifier.sol";
99

1010
contract ZKEmailProof_Script is Script {
11-
address constant DEPLOYED_VERIFIER =
12-
0x7019c2E274c77dd6E9e4C2707068BC6e690eA0AF;
11+
address constant DEPLOYED_VERIFIER = 0x7019c2E274c77dd6E9e4C2707068BC6e690eA0AF;
1312

1413
DKIMRegistry dkimRegistry;
1514
IExtractGoogleDomain_Groth16Verifier groth16Verifier;
@@ -26,20 +25,14 @@ contract ZKEmailProof_Script is Script {
2625
address owner = vm.envAddress("OWNER");
2726

2827
dkimRegistry = new DKIMRegistry(owner);
29-
groth16Verifier = IExtractGoogleDomain_Groth16Verifier(
30-
DEPLOYED_VERIFIER
31-
);
28+
groth16Verifier = IExtractGoogleDomain_Groth16Verifier(DEPLOYED_VERIFIER);
3229
zkEmailProof = new ZKEmailProof(owner);
33-
verifier = new TestVerifier(
34-
address(dkimRegistry),
35-
address(groth16Verifier),
36-
address(zkEmailProof)
37-
);
30+
verifier = new TestVerifier(address(dkimRegistry), address(groth16Verifier), address(zkEmailProof));
3831

3932
domainName = "accounts.google.com";
4033
publicKeyHash = bytes32(
4134
uint256(
42-
3024598485745563149860456768272954250618223591034926533254923041921841324429
35+
3_024_598_485_745_563_149_860_456_768_272_954_250_618_223_591_034_926_533_254_923_041_921_841_324_429
4336
)
4437
);
4538

circom/test/contracts/BaseTest.t.sol

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
pragma solidity ^0.8.13;
33

44
import "forge-std/Test.sol";
5-
import {DKIMRegistry} from "@zk-email/contracts/DKIMRegistry.sol";
6-
import {ZKEmailProof, Proof} from "../../contracts/ZKEmailProof.sol";
7-
import {MockGroth16Verifier} from "../../contracts/test/MockGroth16Verifier.sol";
5+
import { DKIMRegistry } from "@zk-email/contracts/DKIMRegistry.sol";
6+
import { ZKEmailProof, Proof } from "../../contracts/ZKEmailProof.sol";
7+
import { MockGroth16Verifier } from "../../contracts/test/MockGroth16Verifier.sol";
88

9-
import {TestVerifierHarness} from "./TestVerifierHarness.sol";
9+
import { TestVerifierHarness } from "./TestVerifierHarness.sol";
1010

1111
contract BaseTest is Test {
1212
DKIMRegistry dkimRegistry;
@@ -38,48 +38,37 @@ contract BaseTest is Test {
3838
groth16Verifier = new MockGroth16Verifier();
3939
zkEmailProof = new ZKEmailProof(owner);
4040

41-
verifier = new TestVerifierHarness(
42-
address(dkimRegistry),
43-
address(groth16Verifier),
44-
address(zkEmailProof)
45-
);
41+
verifier = new TestVerifierHarness(address(dkimRegistry), address(groth16Verifier), address(zkEmailProof));
4642

4743
blueprintId = 1;
4844
proof = Proof({
4945
a: [uint256(1), uint256(2)],
5046
b: [[uint256(3), uint256(4)], [uint256(5), uint256(6)]],
5147
c: [uint256(7), uint256(8)]
5248
});
53-
publicOutputs[
54-
0
55-
] = 8011766048918436304234337347171138895102985966651471271518887910697337713809;
56-
publicOutputs[1] = 1852337994;
49+
publicOutputs[0] =
50+
8_011_766_048_918_436_304_234_337_347_171_138_895_102_985_966_651_471_271_518_887_910_697_337_713_809;
51+
publicOutputs[1] = 1_852_337_994;
5752
publicOutputs[2] = 0;
5853
publicOutputs[3] = 0;
59-
publicOutputs[
60-
4
61-
] = 57377328031630107749936499991080080299453129889983133523939340367986255164;
62-
publicOutputs[5] = 5438187003054578043726741043588292439992695;
54+
publicOutputs[4] =
55+
57_377_328_031_630_107_749_936_499_991_080_080_299_453_129_889_983_133_523_939_340_367_986_255_164;
56+
publicOutputs[5] = 5_438_187_003_054_578_043_726_741_043_588_292_439_992_695;
6357
publicOutputs[6] = 0;
6458
publicOutputs[7] = 0;
6559
publicOutputs[8] = 0;
6660
publicOutputs[9] = 0;
6761
publicOutputs[10] = 0;
68-
publicOutputs[
69-
11
70-
] = 203411379827238570491176173578436868093537450257881964775793530671143609719;
71-
publicOutputs[12] = 2037169922858342507125;
62+
publicOutputs[11] =
63+
203_411_379_827_238_570_491_176_173_578_436_868_093_537_450_257_881_964_775_793_530_671_143_609_719;
64+
publicOutputs[12] = 2_037_169_922_858_342_507_125;
7265
publicOutputs[13] = 0;
73-
publicOutputs[
74-
14
75-
] = 93982438239657877452062018043752344615292808895017758601572026041563772976;
76-
publicOutputs[15] = 123778951240410959589749349;
77-
publicOutputFieldNames = [
78-
"recipient_name",
79-
"proposal_title",
80-
"rejection_line"
81-
];
82-
decodedPublicOutputs = '{"recipient_name":"John","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
66+
publicOutputs[14] =
67+
93_982_438_239_657_877_452_062_018_043_752_344_615_292_808_895_017_758_601_572_026_041_563_772_976;
68+
publicOutputs[15] = 123_778_951_240_410_959_589_749_349;
69+
publicOutputFieldNames = ["recipient_name", "proposal_title", "rejection_line"];
70+
decodedPublicOutputs =
71+
'{"recipient_name":"John","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
8372
to = alice;
8473
blueprintId = 1;
8574
toAddressStartIndex = 14;

circom/test/contracts/TestVerifier/convertPackedFieldsToPublicOutput.t.sol

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
pragma solidity ^0.8.13;
33

44
import "forge-std/Test.sol";
5-
import {BaseTest} from "../BaseTest.t.sol";
6-
import {TestVerifier} from "../../../contracts/test/TestVerifier.sol";
5+
import { BaseTest } from "../BaseTest.t.sol";
6+
import { TestVerifier } from "../../../contracts/test/TestVerifier.sol";
77

88
contract TestVerifier_ConvertPackedFieldsToPublicOutput_Test is BaseTest {
99
uint256[16] publicOutputsFixedSize;
@@ -30,22 +30,15 @@ contract TestVerifier_ConvertPackedFieldsToPublicOutput_Test is BaseTest {
3030
];
3131
}
3232

33-
function test_TestVerifier_ConvertPackedFieldsToPublicOutput_Success()
34-
public
35-
view
36-
{
33+
function test_TestVerifier_ConvertPackedFieldsToPublicOutput_Success() public view {
3734
uint256 startIndex = 1;
3835
string memory publicOutputFieldName = publicOutputFieldNames[0];
3936
uint256 fieldLength = verifier.recipient_name_len();
4037

4138
string memory expectedResult = '"recipient_name":"John"';
42-
string memory result = verifier
43-
.exposed_convertPackedFieldsToPublicOutput(
44-
publicOutputsFixedSize,
45-
startIndex,
46-
publicOutputFieldName,
47-
fieldLength
48-
);
39+
string memory result = verifier.exposed_convertPackedFieldsToPublicOutput(
40+
publicOutputsFixedSize, startIndex, publicOutputFieldName, fieldLength
41+
);
4942
assertEq(result, expectedResult);
5043

5144
startIndex = 1 + verifier.recipient_name_len();
@@ -54,49 +47,33 @@ contract TestVerifier_ConvertPackedFieldsToPublicOutput_Test is BaseTest {
5447

5548
expectedResult = '"proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>"';
5649
result = verifier.exposed_convertPackedFieldsToPublicOutput(
57-
publicOutputsFixedSize,
58-
startIndex,
59-
publicOutputFieldName,
60-
fieldLength
50+
publicOutputsFixedSize, startIndex, publicOutputFieldName, fieldLength
6151
);
6252
assertEq(result, expectedResult);
6353

64-
startIndex =
65-
1 +
66-
verifier.recipient_name_len() +
67-
verifier.proposal_title_len();
54+
startIndex = 1 + verifier.recipient_name_len() + verifier.proposal_title_len();
6855
publicOutputFieldName = publicOutputFieldNames[2];
6956
fieldLength = verifier.rejection_line_len();
7057

7158
expectedResult = '"rejection_line":"we were unable to accept this submission"';
7259
result = verifier.exposed_convertPackedFieldsToPublicOutput(
73-
publicOutputsFixedSize,
74-
startIndex,
75-
publicOutputFieldName,
76-
fieldLength
60+
publicOutputsFixedSize, startIndex, publicOutputFieldName, fieldLength
7761
);
7862
assertEq(result, expectedResult);
7963
}
8064

81-
function test_TestVerifier_ConvertPackedFieldsToPublicOutput_EmptyField()
82-
public
83-
{
65+
function test_TestVerifier_ConvertPackedFieldsToPublicOutput_EmptyField() public {
8466
uint256 startIndex = 1 + verifier.recipient_name_len();
8567
string memory publicOutputFieldName = publicOutputFieldNames[1];
8668
uint256 fieldLength = verifier.proposal_title_len();
8769

88-
for (uint i = startIndex; i < startIndex + fieldLength; i++) {
70+
for (uint256 i = startIndex; i < startIndex + fieldLength; i++) {
8971
publicOutputsFixedSize[i] = 0;
9072
}
9173

92-
vm.expectRevert(
93-
"No packed bytes found! Invalid final state of packed bytes in email; value is likely 0!"
94-
);
74+
vm.expectRevert("No packed bytes found! Invalid final state of packed bytes in email; value is likely 0!");
9575
verifier.exposed_convertPackedFieldsToPublicOutput(
96-
publicOutputsFixedSize,
97-
startIndex,
98-
publicOutputFieldName,
99-
fieldLength
76+
publicOutputsFixedSize, startIndex, publicOutputFieldName, fieldLength
10077
);
10178
}
10279
}

circom/test/contracts/TestVerifier/decodePublicOutputs.t.sol

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
pragma solidity ^0.8.13;
33

44
import "forge-std/Test.sol";
5-
import {BaseTest} from "../BaseTest.t.sol";
6-
import {TestVerifier} from "../../../contracts/test/TestVerifier.sol";
5+
import { BaseTest } from "../BaseTest.t.sol";
6+
import { TestVerifier } from "../../../contracts/test/TestVerifier.sol";
77

88
contract TestVerifier_DecodePublicOutputs_Test is BaseTest {
99
// verifier expects a fixed size array
@@ -32,27 +32,20 @@ contract TestVerifier_DecodePublicOutputs_Test is BaseTest {
3232
}
3333

3434
function test_TestVerifier_DecodePublicOutputs_Success() public view {
35-
string
36-
memory expectedOutput = '{"recipient_name":"John","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
35+
string memory expectedOutput =
36+
'{"recipient_name":"John","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
3737

38-
string memory decodedOutput = verifier.exposed_decodePublicOutputs(
39-
publicOutputFieldNames,
40-
publicOutputsFixedSize
41-
);
38+
string memory decodedOutput =
39+
verifier.exposed_decodePublicOutputs(publicOutputFieldNames, publicOutputsFixedSize);
4240

4341
assertEq(decodedOutput, expectedOutput);
4442
}
4543

4644
function test_TestVerifier_DecodePublicOutputs_EmptyFields() public {
4745
publicOutputsFixedSize[1] = 0;
4846

49-
vm.expectRevert(
50-
"No packed bytes found! Invalid final state of packed bytes in email; value is likely 0!"
51-
);
52-
verifier.exposed_decodePublicOutputs(
53-
publicOutputFieldNames,
54-
publicOutputsFixedSize
55-
);
47+
vm.expectRevert("No packed bytes found! Invalid final state of packed bytes in email; value is likely 0!");
48+
verifier.exposed_decodePublicOutputs(publicOutputFieldNames, publicOutputsFixedSize);
5649
}
5750

5851
// console.log("decodedOutput", decodedOutput);
@@ -62,20 +55,16 @@ contract TestVerifier_DecodePublicOutputs_Test is BaseTest {
6255

6356
// recipient name with special chars - bytes should be in reverse order
6457
publicOutputsFixedSize[1] = uint256(bytes32("%$#@!nhoJ"));
65-
expectedOutput = '{"recipient_name":"John!@#$","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
66-
decodedOutput = verifier.exposed_decodePublicOutputs(
67-
publicOutputFieldNames,
68-
publicOutputsFixedSize
69-
);
58+
expectedOutput =
59+
'{"recipient_name":"John!@#$","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
60+
decodedOutput = verifier.exposed_decodePublicOutputs(publicOutputFieldNames, publicOutputsFixedSize);
7061
assertEq(decodedOutput, expectedOutput);
7162

7263
// proposal title with HTML - bytes should be in reverse order
7364
publicOutputsFixedSize[1] = uint256(bytes32(" >tpircs/<>tpircs<"));
74-
expectedOutput = '{"recipient_name":"<script></script>","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
75-
decodedOutput = verifier.exposed_decodePublicOutputs(
76-
publicOutputFieldNames,
77-
publicOutputsFixedSize
78-
);
65+
expectedOutput =
66+
'{"recipient_name":"<script></script>","proposal_title":"<em>Making Smart Accounts easy with ZK Email</em>","rejection_line":"we were unable to accept this submission"}';
67+
decodedOutput = verifier.exposed_decodePublicOutputs(publicOutputFieldNames, publicOutputsFixedSize);
7968
assertEq(decodedOutput, expectedOutput);
8069
}
8170
}

circom/test/contracts/TestVerifier/validateOwner.t.sol

Lines changed: 11 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
pragma solidity ^0.8.13;
33

44
import "forge-std/Test.sol";
5-
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
6-
import {TestVerifier} from "../../../contracts/test/TestVerifier.sol";
7-
import {BaseTest} from "../BaseTest.t.sol";
5+
import { Strings } from "@openzeppelin/contracts/utils/Strings.sol";
6+
import { TestVerifier } from "../../../contracts/test/TestVerifier.sol";
7+
import { BaseTest } from "../BaseTest.t.sol";
88

99
contract TestVerifier_ValidateOwner_Test is BaseTest {
1010
// verifier expects a fixed size array
@@ -32,43 +32,24 @@ contract TestVerifier_ValidateOwner_Test is BaseTest {
3232
];
3333
}
3434

35-
function test_TestVerifier_ValidateOwner_RevertWhen_OwnerNotInProof()
36-
public
37-
{
35+
function test_TestVerifier_ValidateOwner_RevertWhen_OwnerNotInProof() public {
3836
// Change the address in the proof to mismatch 'to'
39-
publicOutputsFixedSize[
40-
toAddressStartIndex
41-
] = 116992936385065960565912052140412177013034054326367951776368268607948945456;
42-
publicOutputsFixedSize[
43-
toAddressStartIndex + 1
44-
] = 81467355455428621312079923;
37+
publicOutputsFixedSize[toAddressStartIndex] =
38+
116_992_936_385_065_960_565_912_052_140_412_177_013_034_054_326_367_951_776_368_268_607_948_945_456;
39+
publicOutputsFixedSize[toAddressStartIndex + 1] = 81_467_355_455_428_621_312_079_923;
4540

4641
vm.expectRevert(TestVerifier.OwnerNotInProof.selector);
47-
verifier.exposed_validateOwner(
48-
publicOutputsFixedSize,
49-
toAddressStartIndex,
50-
to
51-
);
42+
verifier.exposed_validateOwner(publicOutputsFixedSize, toAddressStartIndex, to);
5243
}
5344

5445
function test_TestVerifier_ValidateOwner_RevertWhen_ZeroAddress() public {
55-
publicOutputsFixedSize[toAddressStartIndex] = uint256(
56-
uint160(address(0))
57-
);
46+
publicOutputsFixedSize[toAddressStartIndex] = uint256(uint160(address(0)));
5847

5948
vm.expectRevert(Strings.StringsInvalidAddressFormat.selector);
60-
verifier.exposed_validateOwner(
61-
publicOutputsFixedSize,
62-
toAddressStartIndex,
63-
to
64-
);
49+
verifier.exposed_validateOwner(publicOutputsFixedSize, toAddressStartIndex, to);
6550
}
6651

6752
function test_TestVerifier_ValidateOwner_Success() public view {
68-
verifier.exposed_validateOwner(
69-
publicOutputsFixedSize,
70-
toAddressStartIndex,
71-
to
72-
);
53+
verifier.exposed_validateOwner(publicOutputsFixedSize, toAddressStartIndex, to);
7354
}
7455
}

circom/test/contracts/TestVerifier/verify.t.sol

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
pragma solidity ^0.8.13;
33

44
import "forge-std/Test.sol";
5-
import {IDKIMRegistry} from "@zk-email/contracts/interfaces/IDKIMRegistry.sol";
6-
import {IGroth16Verifier} from "../../../contracts/interfaces/IGroth16Verifier.sol";
7-
import {BaseTest} from "../BaseTest.t.sol";
8-
import {TestVerifier} from "../../../contracts/test/TestVerifier.sol";
5+
import { IDKIMRegistry } from "@zk-email/contracts/interfaces/IDKIMRegistry.sol";
6+
import { IGroth16Verifier } from "../../../contracts/interfaces/IGroth16Verifier.sol";
7+
import { BaseTest } from "../BaseTest.t.sol";
8+
import { TestVerifier } from "../../../contracts/test/TestVerifier.sol";
99

1010
contract TestVerifier_Verify_Test is BaseTest {
1111
// verifier expects a fixed size array
@@ -33,9 +33,7 @@ contract TestVerifier_Verify_Test is BaseTest {
3333
];
3434
}
3535

36-
function test_TestVerifier_Verify_RevertWhen_InvalidDKIMPublicKeyHash()
37-
public
38-
{
36+
function test_TestVerifier_Verify_RevertWhen_InvalidDKIMPublicKeyHash() public {
3937
publicOutputsFixedSize[0] = uint256(keccak256("invalid"));
4038

4139
vm.expectRevert(TestVerifier.InvalidDKIMPublicKeyHash.selector);
@@ -44,9 +42,7 @@ contract TestVerifier_Verify_Test is BaseTest {
4442

4543
function test_TestVerifier_Verify_RevertWhen_InvalidProof() public {
4644
vm.mockCall(
47-
verifier.verifier(),
48-
abi.encodeWithSelector(IGroth16Verifier.verifyProof.selector),
49-
abi.encode(false)
45+
verifier.verifier(), abi.encodeWithSelector(IGroth16Verifier.verifyProof.selector), abi.encode(false)
5046
);
5147

5248
vm.expectRevert(TestVerifier.InvalidProof.selector);

0 commit comments

Comments
 (0)