Skip to content

Commit f9b9dc3

Browse files
committed
Merge branch 'master' into feature/erc-7943
2 parents e7e17f3 + b0c00eb commit f9b9dc3

File tree

14 files changed

+983
-436
lines changed

14 files changed

+983
-436
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
## 14-08-2025
2+
3+
- `ZKEmailUtils`: Add `tryDecodeEmailProof` function for safe calldata decoding with comprehensive bounds checking and validation for `EmailProof` struct.
4+
- `ZKEmailUtils`: Update `isValidZKEmail` to receive `EmailProof` struct directly instead of `EmailAuthMsg` struct.
5+
- `SignerZKEmail`: Remove `templateId` functionality and switch from `EmailAuthMsg` to direct `EmailProof` validation for streamlined signature verification.
6+
- `ERC7913ZKEmailVerifier`: Remove `templateId` from signature validation logic and update `_decodeKey` function to directly decode `EmailProof` struct.
7+
8+
## 09-08-2025
9+
10+
- `ZKEmailUtils`: Simplify library implementation and remove `Verifier.sol` indirection for cleaner integration with a Groth16Verifier.
11+
12+
## 24-07-2025
13+
14+
- `ERC7786Receiver`: Rename `executeMessage` to `receiveMessage` to align with ERC-7786 specification, remove `attributes` parameter for simplified message handling.
15+
16+
## 22-07-2025
17+
18+
- `WebAuthn`: Replace `verifyMinimal` with `verify` as the standard method, add `verify(challenge, auth, qx, qy, requireUV)` variant for UV flag control, improve backup eligibility/state validation, and make authenticator data flags constants internal for better accessibility.
19+
20+
## 21-07-2025
21+
22+
- Remove `ERC20Bridgeable`. Migrated to `@openzeppelin/contracts>=5.4.0`.
23+
24+
## 19-07-2025
25+
26+
- Remove `Account`, `AccountERC7579`, `AccountERC7579Hooked`, `ERC7812`, `ERC7739Utils`, `ERC7913Utils`, `AbstractSigner`, `SignerECDSA`, `SignerP256`, `SignerRSA`, `SignerERC7702`, `SignerERC7913`, `MultiSignerERC7913`, `MultiSignerERC7913Weighted`, `ERC7913P256Verifier`, `ERC7913PRSAVerifier`. These contracts were migrated to `@openzeppelin/contracts>=5.4.0`.
27+
28+
## 11-07-2025
29+
30+
- `IERC7943`: Add interface for uRWAs (ERC-7943) supporting frozen tokens, forced transfers, and compliance features.
31+
132
## 16-07-2025
233

334
- `ERC7913WebAuthnVerifier`: Add an ERC-7913 signature verifier that supports WebAuthn authentication assertions using P256 keys.

contracts/mocks/account/AccountZKEmailMock.sol

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,17 @@ import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Hol
99
import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";
1010
import {SignerZKEmail} from "../../utils/cryptography/signers/SignerZKEmail.sol";
1111
import {IDKIMRegistry} from "@zk-email/contracts/DKIMRegistry.sol";
12-
import {IVerifier} from "@zk-email/email-tx-builder/src/interfaces/IVerifier.sol";
12+
import {IGroth16Verifier} from "@zk-email/email-tx-builder/src/interfaces/IGroth16Verifier.sol";
1313

1414
contract AccountZKEmailMock is Account, SignerZKEmail, ERC7739, ERC7821, ERC721Holder, ERC1155Holder {
1515
constructor(
1616
bytes32 accountSalt_,
1717
IDKIMRegistry registry_,
18-
IVerifier verifier_,
19-
uint256 templateId_
18+
IGroth16Verifier groth16Verifier_
2019
) EIP712("AccountZKEmailMock", "1") {
2120
_setAccountSalt(accountSalt_);
2221
_setDKIMRegistry(registry_);
23-
_setVerifier(verifier_);
24-
_setTemplateId(templateId_);
22+
_setVerifier(groth16Verifier_);
2523
}
2624

2725
/// @inheritdoc ERC7821

contracts/mocks/import.sol

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import {UpgradeableBeacon} from "@openzeppelin/contracts/proxy/beacon/Upgradeabl
77
import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
88
import {ERC721Enumerable} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
99
import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
10-
import {AccountECDSAMock, AccountERC7579Mock} from "@openzeppelin/contracts/mocks/account/AccountMock.sol";
10+
import {
11+
AccountECDSAMock,
12+
AccountERC7579Mock,
13+
AccountERC7913Mock
14+
} from "@openzeppelin/contracts/mocks/account/AccountMock.sol";
1115
import {ERC1271WalletMock} from "@openzeppelin/contracts/mocks/ERC1271WalletMock.sol";
1216
import {CallReceiverMock} from "@openzeppelin/contracts/mocks/CallReceiverMock.sol";
1317
import {ERC7913P256Verifier} from "@openzeppelin/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol";
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// SPDX-License-Identifier: MIT
2+
3+
pragma solidity ^0.8.20;
4+
5+
import {IGroth16Verifier} from "@zk-email/email-tx-builder/src/interfaces/IGroth16Verifier.sol";
6+
7+
contract ZKEmailGroth16VerifierMock is IGroth16Verifier {
8+
function verifyProof(
9+
uint[2] calldata _pA,
10+
uint[2][2] calldata _pB,
11+
uint[2] calldata _pC,
12+
uint[34] calldata /* _pubSignals */
13+
) public pure returns (bool) {
14+
return
15+
_pA[0] == 1 &&
16+
_pA[1] == 2 &&
17+
_pB[0][0] == 3 &&
18+
_pB[0][1] == 4 &&
19+
_pB[1][0] == 5 &&
20+
_pB[1][1] == 6 &&
21+
_pC[0] == 7 &&
22+
_pC[1] == 8;
23+
}
24+
}

contracts/mocks/utils/cryptography/ZKEmailVerifierMock.sol

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)