diff --git a/packages/contracts/DKIMRegistry.sol b/packages/contracts/DKIMRegistry.sol index b3c16097e..70f151e26 100644 --- a/packages/contracts/DKIMRegistry.sol +++ b/packages/contracts/DKIMRegistry.sol @@ -2,12 +2,13 @@ pragma solidity ^0.8.0; import "@openzeppelin/contracts/access/Ownable.sol"; +import "./interfaces/IDKIMRegistry.sol"; /** A Registry that store the hash(dkim_public_key) for each domain The hash is calculated by taking Poseidon of DKIM key split into 9 chunks of 242 bits each */ -contract DKIMRegistry is Ownable { +contract DKIMRegistry is IDKIMRegistry, Ownable { // Mapping from domain name to DKIM public key hash mapping(string => bytes32) public dkimPublicKeyHashes; @@ -33,7 +34,7 @@ contract DKIMRegistry is Ownable { function setDKIMPublicKeyHash( string memory domainName, bytes32 publicKeyHash - ) public onlyOwner { + ) public virtual onlyOwner { dkimPublicKeyHashes[domainName] = publicKeyHash; } } diff --git a/packages/contracts/foundry.toml b/packages/contracts/foundry.toml new file mode 100644 index 000000000..f826467d6 --- /dev/null +++ b/packages/contracts/foundry.toml @@ -0,0 +1,4 @@ +[profile.default] +src = './' +out = 'out' +allow_paths = ['../../node_modules'] diff --git a/packages/contracts/interfaces/IDKIMRegistry.sol b/packages/contracts/interfaces/IDKIMRegistry.sol new file mode 100644 index 000000000..f308a50d2 --- /dev/null +++ b/packages/contracts/interfaces/IDKIMRegistry.sol @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IDKIMRegistry { + function getDKIMPublicKeyHash( + string memory domainName + ) external view returns (bytes32); +} diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 79cdeb454..126d8073b 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -1,7 +1,8 @@ { "name": "@zk-email/contracts", - "version": "3.0.0", + "version": "3.1.3", "scripts": { + "build": "forge build", "publish": "yarn npm publish --access=public" }, "dependencies": { diff --git a/packages/contracts/remappings.txt b/packages/contracts/remappings.txt new file mode 100644 index 000000000..5abcb1beb --- /dev/null +++ b/packages/contracts/remappings.txt @@ -0,0 +1,3 @@ +@openzeppelin=../../node_modules/@openzeppelin/contracts +@openzeppelin/contracts=../../node_modules/@openzeppelin/contracts +@openzeppelin/contracts-upgradeable=../../node_modules/@openzeppelin/contracts-upgradeable \ No newline at end of file