From 5bd21f3e65a47f13447d1490087f4b20c9a978ab Mon Sep 17 00:00:00 2001 From: Saleel Date: Wed, 18 Oct 2023 00:02:32 +0530 Subject: [PATCH] feat: update events; add test for events --- packages/contracts/src/EmailWalletCore.sol | 4 +- packages/contracts/src/interfaces/Events.sol | 32 +- packages/contracts/src/interfaces/Types.sol | 2 +- .../test/EmailWalletCore.account.t.sol | 15 +- .../test/EmailWalletCore.relayer.t.sol | 16 +- .../contracts/test/EmailWalletCore.uf.t.sol | 6 +- .../contracts/test/EmailWalletCore.us.t.sol | 6 + packages/contracts/test/Integration.t.sol | 40 +-- .../contracts/test/mocks/TestDKIMRegistry.sol | 1 - yarn.lock | 315 +++++++++--------- 10 files changed, 230 insertions(+), 207 deletions(-) diff --git a/packages/contracts/src/EmailWalletCore.sol b/packages/contracts/src/EmailWalletCore.sol index d8ba74eb..49cbbdf7 100644 --- a/packages/contracts/src/EmailWalletCore.sol +++ b/packages/contracts/src/EmailWalletCore.sol @@ -170,7 +170,7 @@ contract EmailWalletCore is EmailWalletEvents, ReentrancyGuard, OwnableUpgradeab relayerOfRandHash[randHash] = msg.sender; relayerOfEmailAddr[emailAddr] = msg.sender; - emit RelayerRegistered(randHash, emailAddr, hostname); + emit RelayerRegistered(msg.sender, randHash, emailAddr, hostname); } /// @notice Update relayer's config (hostname only for now) @@ -181,7 +181,7 @@ contract EmailWalletCore is EmailWalletEvents, ReentrancyGuard, OwnableUpgradeab relayers[msg.sender].hostname = hostname; - emit RelayerConfigUpdated(relayers[msg.sender].randHash, hostname); + emit RelayerConfigUpdated(msg.sender, hostname); } /// Create new account and wallet for a user diff --git a/packages/contracts/src/interfaces/Events.sol b/packages/contracts/src/interfaces/Events.sol index 6004dc6d..c05556c2 100644 --- a/packages/contracts/src/interfaces/Events.sol +++ b/packages/contracts/src/interfaces/Events.sol @@ -2,18 +2,23 @@ pragma solidity ^0.8.12; interface EmailWalletEvents { - event RelayerRegistered(bytes32 randHash, string emailAddr, string hostname); + event RelayerRegistered(address indexed addr, bytes32 randHash, string emailAddr, string hostname); - event RelayerConfigUpdated(bytes32 randHash, string hostname); + event RelayerConfigUpdated(address indexed addr, string hostname); - event AccountCreated(bytes32 emailAddrPointer, bytes32 accountKeyCommit, bytes32 walletSalt, bytes psiPoint); + event AccountCreated( + bytes32 emailAddrPointer, + bytes32 accountKeyCommit, + bytes32 indexed walletSalt, + bytes psiPoint + ); - event AccountInitialized(bytes32 emailAddrPointer, bytes32 accountKeyCommit, bytes32 walletSalt); + event AccountInitialized(bytes32 emailAddrPointer, bytes32 accountKeyCommit, bytes32 indexed walletSalt); event AccountTransported(bytes32 oldAccountKeyCommit, bytes32 newEmailAddrPointer, bytes32 newAccountKeyCommit); event UnclaimedFundRegistered( - bytes32 emailAddrCommit, + bytes32 indexed emailAddrCommit, address tokenAddr, uint256 amount, address sender, @@ -22,12 +27,12 @@ interface EmailWalletEvents { string emailAddr ); - event UnclaimedFundClaimed(bytes32 emailAddrCommit, address tokenAddr, uint256 amount, address recipient); + event UnclaimedFundClaimed(bytes32 indexed emailAddrCommit, address tokenAddr, uint256 amount, address recipient); - event UnclaimedFundVoided(bytes32 emailAddrCommit, address tokenAddr, uint256 amount, address sender); + event UnclaimedFundVoided(bytes32 indexed emailAddrCommit, address tokenAddr, uint256 amount, address sender); event UnclaimedStateRegistered( - bytes32 emailAddrCommit, + bytes32 indexed emailAddrCommit, address extensionAddr, address sender, uint256 expiryTime, @@ -36,9 +41,14 @@ interface EmailWalletEvents { string emailAddr ); - event UnclaimedStateClaimed(bytes32 emailAddrCommit, address recipient); + event UnclaimedStateClaimed(bytes32 indexed emailAddrCommit, address recipient); - event UnclaimedStateVoided(bytes32 emailAddrCommit, address sender); + event UnclaimedStateVoided(bytes32 indexed emailAddrCommit, address sender); - event ExtensionPublished(string name, address extensionAddr, string[][] subjectTemplates, uint256 maxExecutionGas); + event ExtensionPublished( + string indexed name, + address indexed extensionAddr, + string[][] subjectTemplates, + uint256 maxExecutionGas + ); } diff --git a/packages/contracts/src/interfaces/Types.sol b/packages/contracts/src/interfaces/Types.sol index b9d01a2f..d1d30899 100644 --- a/packages/contracts/src/interfaces/Types.sol +++ b/packages/contracts/src/interfaces/Types.sol @@ -22,10 +22,10 @@ struct EmailOp { uint256 feePerGas; // Amount of ETH to be charged per gas bytes executeCallData; // data if the the command is "Execute" address newWalletOwner; // Address of the new owner if the command is "Exit Email Wallet" + address newDkimRegistry; // Address of the new dkim registry if the command is "DKIM" WalletParams walletParams; // Params when command = "Transfer" / "Send" ExtensionParams extensionParams; // Serialized params for the extension based on the template ExtensionManagerParams extManagerParams; // Params when command = "Install Extension" / "Uninstall Extension" - address newDkimRegistry; // Address of the new dkim registry if the command is "DKIM" bytes emailProof; // ZK Proof of Email receipt } diff --git a/packages/contracts/test/EmailWalletCore.account.t.sol b/packages/contracts/test/EmailWalletCore.account.t.sol index fee7c359..f07d9489 100644 --- a/packages/contracts/test/EmailWalletCore.account.t.sol +++ b/packages/contracts/test/EmailWalletCore.account.t.sol @@ -11,6 +11,9 @@ contract AccountTest is EmailWalletCoreTestHelper { function test_CreateAccount() public { vm.startPrank(relayer); + vm.expectEmit(); + emit AccountCreated(emailAddrPointer, accountKeyCommit, walletSalt, psiPoint); + core.createAccount(emailAddrPointer, accountKeyCommit, walletSalt, psiPoint, mockProof); vm.stopPrank(); @@ -18,9 +21,7 @@ contract AccountTest is EmailWalletCoreTestHelper { assertEq(wallet.owner(), address(core), "wallet owner is not walletAddr"); assertEq(core.accountKeyCommitOfPointer(emailAddrPointer), accountKeyCommit); - (address akRelayer, bool initialized, bytes32 akWalletSalt) = core.infoOfAccountKeyCommit( - accountKeyCommit - ); + (address akRelayer, bool initialized, bytes32 akWalletSalt) = core.infoOfAccountKeyCommit(accountKeyCommit); assertEq(akRelayer, relayer); assertEq(core.pointerOfPSIPoint(psiPoint), emailAddrPointer); assertTrue(!initialized); @@ -92,6 +93,10 @@ contract AccountTest is EmailWalletCoreTestHelper { function test_AccountInitailization() public { vm.startPrank(relayer); core.createAccount(emailAddrPointer, accountKeyCommit, walletSalt, psiPoint, mockProof); + + vm.expectEmit(); + emit AccountInitialized(emailAddrPointer, accountKeyCommit, walletSalt); + core.initializeAccount(emailAddrPointer, emailDomain, block.timestamp, emailNullifier, mockProof); vm.stopPrank(); @@ -120,6 +125,10 @@ contract AccountTest is EmailWalletCoreTestHelper { vm.startPrank(relayer2); core.registerRelayer(relayer2RandHash, "mail@relayer2", "relayer2.com"); + + vm.expectEmit(); + emit AccountTransported(accountKeyCommit, newEmailAddrPointer, newAccountKeyCommit); + core.transportAccount( accountKeyCommit, newEmailAddrPointer, diff --git a/packages/contracts/test/EmailWalletCore.relayer.t.sol b/packages/contracts/test/EmailWalletCore.relayer.t.sol index 18c60033..bd5dbaca 100644 --- a/packages/contracts/test/EmailWalletCore.relayer.t.sol +++ b/packages/contracts/test/EmailWalletCore.relayer.t.sol @@ -6,9 +6,14 @@ import "./helpers/EmailWalletCoreTestHelper.sol"; contract RelayerTest is EmailWalletCoreTestHelper { function test_RegisterRelayer() public { bytes32 randHash = keccak256(abi.encodePacked(uint(1001))); + string memory emailAddr = "relayer@domain.com"; + string memory hostname = "relayer.xyz"; vm.startPrank(relayer); - core.registerRelayer(randHash, "relayer@domain.com", "relayer.xyz"); + vm.expectEmit(); + emit RelayerRegistered(relayer, randHash, emailAddr, hostname); + + core.registerRelayer(randHash, emailAddr, hostname); vm.stopPrank(); (bytes32 deployedRandHash, , ) = core.relayers(relayer); @@ -59,13 +64,18 @@ contract RelayerTest is EmailWalletCoreTestHelper { // Update relayer hostname function test_UpdateRelayerHostname() public { bytes32 randHash = keccak256(abi.encodePacked(uint(1001))); + string memory newHostname = "newdomain.xyz"; vm.startPrank(relayer); core.registerRelayer(randHash, "relayer@domain.com", "relayer.xyz"); - core.updateRelayerConfig("newdomain.xyz"); + + vm.expectEmit(); + emit RelayerConfigUpdated(relayer, newHostname); + core.updateRelayerConfig(newHostname); vm.stopPrank(); (, , string memory hostname) = core.relayers(relayer); - assertTrue(Strings.equal(hostname, "newdomain.xyz")); + + assertTrue(Strings.equal(hostname, newHostname)); } } diff --git a/packages/contracts/test/EmailWalletCore.uf.t.sol b/packages/contracts/test/EmailWalletCore.uf.t.sol index f88a8120..57f99491 100644 --- a/packages/contracts/test/EmailWalletCore.uf.t.sol +++ b/packages/contracts/test/EmailWalletCore.uf.t.sol @@ -263,9 +263,6 @@ contract UnclaimedFundTest is EmailWalletCoreTestHelper { vm.startPrank(sender); daiToken.approve(address(core), 100 ether); - - // vm.expectEmit(); - // emit UnclaimedFundClaimed(recipientEmailAddrCommit, address(daiToken), 100 ether, walletAddr); core.registerUnclaimedFund{value: unclaimedFundClaimGas * maxFeePerGas}( recipientEmailAddrCommit, address(daiToken), @@ -278,6 +275,9 @@ contract UnclaimedFundTest is EmailWalletCoreTestHelper { // Relayer claim the unclaimed fund to account vm.startPrank(relayer); + vm.expectEmit(); + emit UnclaimedFundClaimed(recipientEmailAddrCommit, address(daiToken), 100 ether, walletAddr); + core.claimUnclaimedFund(recipientEmailAddrCommit, emailAddrPointer, mockProof); vm.stopPrank(); diff --git a/packages/contracts/test/EmailWalletCore.us.t.sol b/packages/contracts/test/EmailWalletCore.us.t.sol index f9c70008..d626fe68 100644 --- a/packages/contracts/test/EmailWalletCore.us.t.sol +++ b/packages/contracts/test/EmailWalletCore.us.t.sol @@ -511,6 +511,9 @@ contract UnclaimedStateTest is EmailWalletCoreTestHelper { // Relayer claim the unclaimed state to account vm.startPrank(relayer); + vm.expectEmit(); + emit UnclaimedStateClaimed(recipientEmailAddrCommit, walletAddr); + core.claimUnclaimedState(recipientEmailAddrCommit, emailAddrPointer, mockProof); vm.stopPrank(); @@ -554,6 +557,9 @@ contract UnclaimedStateTest is EmailWalletCoreTestHelper { core.createAccount(newEmailAddrPointer, newAccountKeyCommit, newWalletSalt, newPSIPoint, mockProof); core.initializeAccount(newEmailAddrPointer, emailDomain, block.timestamp, emailNullifier2, mockProof); + vm.expectEmit(); + emit UnclaimedStateClaimed(recipientEmailAddrCommit, newWalletAddr); + core.claimUnclaimedState(recipientEmailAddrCommit, newEmailAddrPointer, mockProof); vm.stopPrank(); diff --git a/packages/contracts/test/Integration.t.sol b/packages/contracts/test/Integration.t.sol index bca9297c..68e56c8d 100644 --- a/packages/contracts/test/Integration.t.sol +++ b/packages/contracts/test/Integration.t.sol @@ -111,9 +111,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); vm.stopPrank(); vm.startPrank(user1Wallet); @@ -179,9 +177,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); vm.stopPrank(); vm.startPrank(user1Wallet); @@ -225,9 +221,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); (relayerHash, emailAddrPointer) = accountCreation(user2.emailAddr, relayer1Rand, user2.accountKey); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); @@ -331,9 +325,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); // address recipient = vm.addr(4); vm.stopPrank(); @@ -468,9 +460,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); claimFund(user1.emailAddr, relayer1Rand, rand1); require( @@ -539,9 +529,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); vm.stopPrank(); vm.startPrank(user1Wallet); @@ -607,9 +595,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); DummyApes ape = DummyApes(nftExtension.addressOfNFTName("APE")); ape.freeMint(user1Wallet, 1); @@ -684,9 +670,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); DummyApes ape = DummyApes(nftExtension.addressOfNFTName("APE")); ape.freeMint(user1Wallet, 1); @@ -785,9 +769,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); claimState(user1.emailAddr, relayer1Rand, rand1); require(ape.ownerOf(1) == user1Wallet, "User1 wallet does not own APE"); @@ -811,9 +793,7 @@ contract IntegrationTest is IntegrationTestHelper { ); require(relayerHash == relayer1RandHash, "Relayer hash mismatch"); require(emailAddrPointer == user1.emailAddrPointer, "Email address pointer mismatch"); - (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit( - core.accountKeyCommitOfPointer(user1.emailAddrPointer) - ); + (, , bytes32 walletSalt) = core.infoOfAccountKeyCommit(core.accountKeyCommitOfPointer(user1.emailAddrPointer)); address user1Wallet = core.getWalletOfSalt(walletSalt); DummyApes ape = DummyApes(nftExtension.addressOfNFTName("APE")); ape.freeMint(user1Wallet, 1); diff --git a/packages/contracts/test/mocks/TestDKIMRegistry.sol b/packages/contracts/test/mocks/TestDKIMRegistry.sol index 1662d66a..fa7963a5 100644 --- a/packages/contracts/test/mocks/TestDKIMRegistry.sol +++ b/packages/contracts/test/mocks/TestDKIMRegistry.sol @@ -4,7 +4,6 @@ pragma solidity ^0.8.9; import "@zk-email/contracts/interfaces/IDKIMRegistry.sol"; contract TestDKIMRegistry is IDKIMRegistry { - function getDKIMPublicKeyHash(string memory domainName) public view returns (bytes32) { return bytes32(uint256(123)); } diff --git a/yarn.lock b/yarn.lock index 2259828f..85055029 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,25 +18,25 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" -"@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.22.5": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" - integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.22.13" "@babel/generator" "^7.23.0" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.0" + "@babel/helpers" "^7.23.2" "@babel/parser" "^7.23.0" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" + "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" convert-source-map "^2.0.0" debug "^4.1.0" @@ -103,10 +103,10 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7" - integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw== +"@babel/helper-define-polyfill-provider@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba" + integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -171,7 +171,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": +"@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== @@ -234,13 +234,13 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.23.0": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.1.tgz#44e981e8ce2b9e99f8f0b703f3326a4636c16d15" - integrity sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA== +"@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== dependencies: "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" + "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" "@babel/highlight@^7.22.13": @@ -433,14 +433,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz#3b153af4a6b779f340d5b80d3f634f55820aefa3" - integrity sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w== +"@babel/plugin-transform-async-generator-functions@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" + integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.9" + "@babel/helper-remap-async-to-generator" "^7.22.20" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-transform-async-to-generator@^7.22.5": @@ -459,7 +459,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoping@^7.22.15": +"@babel/plugin-transform-block-scoping@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== @@ -506,7 +506,7 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/template" "^7.22.5" -"@babel/plugin-transform-destructuring@^7.22.15": +"@babel/plugin-transform-destructuring@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== @@ -598,7 +598,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.22.5": +"@babel/plugin-transform-modules-amd@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== @@ -615,7 +615,7 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.22.11": +"@babel/plugin-transform-modules-systemjs@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== @@ -691,7 +691,7 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.22.15": +"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== @@ -858,11 +858,11 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.22.2", "@babel/preset-env@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" - integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" + integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== dependencies: - "@babel/compat-data" "^7.22.20" + "@babel/compat-data" "^7.23.2" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -888,15 +888,15 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.15" + "@babel/plugin-transform-async-generator-functions" "^7.23.2" "@babel/plugin-transform-async-to-generator" "^7.22.5" "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.15" + "@babel/plugin-transform-block-scoping" "^7.23.0" "@babel/plugin-transform-class-properties" "^7.22.5" "@babel/plugin-transform-class-static-block" "^7.22.11" "@babel/plugin-transform-classes" "^7.22.15" "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.15" + "@babel/plugin-transform-destructuring" "^7.23.0" "@babel/plugin-transform-dotall-regex" "^7.22.5" "@babel/plugin-transform-duplicate-keys" "^7.22.5" "@babel/plugin-transform-dynamic-import" "^7.22.11" @@ -908,9 +908,9 @@ "@babel/plugin-transform-literals" "^7.22.5" "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.15" - "@babel/plugin-transform-modules-systemjs" "^7.22.11" + "@babel/plugin-transform-modules-amd" "^7.23.0" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-modules-systemjs" "^7.23.0" "@babel/plugin-transform-modules-umd" "^7.22.5" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" "@babel/plugin-transform-new-target" "^7.22.5" @@ -919,7 +919,7 @@ "@babel/plugin-transform-object-rest-spread" "^7.22.15" "@babel/plugin-transform-object-super" "^7.22.5" "@babel/plugin-transform-optional-catch-binding" "^7.22.11" - "@babel/plugin-transform-optional-chaining" "^7.22.15" + "@babel/plugin-transform-optional-chaining" "^7.23.0" "@babel/plugin-transform-parameters" "^7.22.15" "@babel/plugin-transform-private-methods" "^7.22.5" "@babel/plugin-transform-private-property-in-object" "^7.22.11" @@ -936,10 +936,10 @@ "@babel/plugin-transform-unicode-regex" "^7.22.5" "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.19" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" + "@babel/types" "^7.23.0" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" core-js-compat "^3.31.0" semver "^6.3.1" @@ -965,9 +965,9 @@ "@babel/plugin-transform-react-pure-annotations" "^7.22.5" "@babel/preset-typescript@^7.21.5", "@babel/preset-typescript@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.0.tgz#cc6602d13e7e5b2087c811912b87cf937a9129d9" - integrity sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" + integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -981,9 +981,9 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" - integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== dependencies: regenerator-runtime "^0.14.0" @@ -996,10 +996,10 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.0.tgz#18196ddfbcf4ccea324b7f6d3ada00d8c5a99c53" - integrity sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw== +"@babel/traverse@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== dependencies: "@babel/code-frame" "^7.22.13" "@babel/generator" "^7.23.0" @@ -1741,9 +1741,11 @@ pretty-format "^29.0.0" "@types/node@*": - version "20.7.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.7.2.tgz#0bdc211f8c2438cfadad26dc8c040a874d478aed" - integrity sha512-RcdC3hOBOauLP+r/kRt27NrByYtDjsXyAuSbR87O6xpsvi763WI+5fbSIvYJrXnt9w4RuxhV6eAXfIs7aaf/FQ== + version "20.8.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.6.tgz#0dbd4ebcc82ad0128df05d0e6f57e05359ee47fa" + integrity sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ== + dependencies: + undici-types "~5.25.1" "@types/stack-utils@^2.0.0": version "2.0.1" @@ -1756,9 +1758,9 @@ integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== "@types/yargs@^17.0.8": - version "17.0.26" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.26.tgz#388e5002a8b284ad7b4599ba89920a6d74d8d79a" - integrity sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw== + version "17.0.28" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.28.tgz#d106e4301fbacde3d1796ab27374dd16588ec851" + integrity sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw== dependencies: "@types/yargs-parser" "*" @@ -1766,16 +1768,17 @@ version "1.0.1-solc-0.8" resolved "https://github.com/Uniswap/v3-core#6562c52e8f75f0c10f9deaf44861847585fc8129" -"@zk-email/circuits@https://gitpkg.now.sh/zkemail/zk-email-verify/packages/circuits?use_zk_regex": +"@zk-email/circuits@^3.0.0": version "3.0.0" - resolved "https://gitpkg.now.sh/zkemail/zk-email-verify/packages/circuits?use_zk_regex#02c6c4b1464e1187423970a47a611185c3eb44c9" + resolved "https://registry.yarnpkg.com/@zk-email/circuits/-/circuits-3.0.0.tgz#554af21817a440e468eb078a2c876db32b7e6c06" + integrity sha512-q+mgsRhm5Bu75HdM6lpQ4OeGvERGoIzXzd0HUTNXTuVhzVs9HJ0KgQHzg3q/JM3izM/DN5AeaxqyMhPPCuYmuw== dependencies: - "@zk-email/zk-regex-circom" "^1.0.1" + "@zk-email/zk-regex-circom" "^1.1.0" -"@zk-email/contracts@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@zk-email/contracts/-/contracts-2.0.0.tgz#7f844ce94a2db28cdd072b72d3f4ecbec04e8ddb" - integrity sha512-qVk5uRG80wy8aKVmTmCKaXvZ1A3o3ilvPG+eutuv0+RKRNF7DANd18/uKfl4K+k0VZClr6G9L/TavSZI01FCTQ== +"@zk-email/contracts@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@zk-email/contracts/-/contracts-3.1.3.tgz#a3d68416fa2775bed3d677d577dfebb86cf86a42" + integrity sha512-uZ70dqDSo92PkElhP8u8Vatlln1kd5CpJ6mzlLUcWn7sWF5QgbwQ/Bn27ztMWBRaWTR7iGSqVO8Txle+LUVaXg== dependencies: "@openzeppelin/contracts" "^4.9.3" @@ -1795,15 +1798,7 @@ psl "^1.9.0" snarkjs "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" -"@zk-email/zk-regex-circom@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-1.0.1.tgz#191d3fe5124ea293f5ac8bcfea956d435f5836d0" - integrity sha512-7hMu83qBAry7p2NMcibrH34DYZEJm94kqk+Zu4T+IUrpiqqnxc6T65Zu0SuKrR57oBRwm66TSNTHZO3s9SZrsQ== - dependencies: - commander "^11.0.0" - snarkjs "^0.7.0" - -"@zk-email/zk-regex-circom@^1.1.1": +"@zk-email/zk-regex-circom@^1.1.0", "@zk-email/zk-regex-circom@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-1.1.1.tgz#01275a4070dbd331224a945aadb648e0097e75cd" integrity sha512-HbEhM4VZgt4mrTPPCHWb2Kw4W/BwkZBJaZS+f0ip98GrwHg1pS6Tfm8SAWXe+HYnfrnjGUytaiffgbTS3L3rgA== @@ -2010,29 +2005,29 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" - integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.4.3" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz#1fac2b1dcef6274e72b3c72977ed8325cb330591" - integrity sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg== +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz#a75fa1b0c3fc5bd6837f9ec465c0f48031b8cab1" + integrity sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.4.3" core-js-compat "^3.32.2" -babel-plugin-polyfill-regenerator@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" - integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.4.3" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -2137,9 +2132,9 @@ blake2b-wasm@^2.4.0: b4a "^1.0.1" nanoassert "^2.0.0" -"blake2b-wasm@https://github.com/jbaylina/blake2b-wasm.git": +"blake2b-wasm@git+https://github.com/jbaylina/blake2b-wasm.git": version "2.1.0" - resolved "https://github.com/jbaylina/blake2b-wasm.git#0d5f024b212429c7f50a7f533aa3a2406b5b42b3" + resolved "git+https://github.com/jbaylina/blake2b-wasm.git#0d5f024b212429c7f50a7f533aa3a2406b5b42b3" dependencies: nanoassert "^1.0.0" @@ -2208,7 +2203,7 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.21.10, browserslist@^4.21.9: +browserslist@^4.21.9, browserslist@^4.22.1: version "4.22.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== @@ -2287,9 +2282,9 @@ camelize@1.0.0: integrity sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg== caniuse-lite@^1.0.30001541: - version "1.0.30001541" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz#b1aef0fadd87fb72db4dcb55d220eae17b81cdb1" - integrity sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw== + version "1.0.30001549" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz#7d1a3dce7ea78c06ed72c32c2743ea364b3615aa" + integrity sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA== cargo-cp-artifact@^0.1: version "0.1.8" @@ -2369,9 +2364,9 @@ chownr@^1.1.1: integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== "circom-grumpkin@https://github.com/zkemail/circom-grumpkin.git": version "0.0.1" @@ -2527,9 +2522,9 @@ commander@^10.0.0: integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" - integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== concat-map@0.0.1: version "0.0.1" @@ -2553,11 +2548,6 @@ content-type@^1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -2577,11 +2567,11 @@ copy-to@^2.0.1: integrity sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w== core-js-compat@^3.31.0, core-js-compat@^3.32.2: - version "3.32.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" - integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== + version "3.33.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966" + integrity sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw== dependencies: - browserslist "^4.21.10" + browserslist "^4.22.1" core-util-is@1.0.2: version "1.0.2" @@ -2738,9 +2728,9 @@ ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.4.535: - version "1.4.537" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.537.tgz#aac4101db53066be1e49baedd000a26bc754adc9" - integrity sha512-W1+g9qs9hviII0HAwOdehGYkr+zt7KKdmCcJcjH0mYg6oL8+ioT3Skjmt7BLoAQqXhjf40AXd+HlR4oAWMlXjA== + version "1.4.556" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz#97385917eb6ea3ac6a3378cf87bb39ee1db96e76" + integrity sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ== elliptic@6.5.4: version "6.5.4" @@ -3060,8 +3050,8 @@ for-each@^0.3.3: is-callable "^1.1.3" "forge-std@https://github.com/foundry-rs/forge-std": - version "1.6.0" - resolved "https://github.com/foundry-rs/forge-std#4d9985c9fb046e5c8572bb173662109aae09d7de" + version "1.7.1" + resolved "https://github.com/foundry-rs/forge-std#f73c73d2018eb6a111f35e4dae7b4f27401e9421" fresh@~0.5.2: version "0.5.2" @@ -3084,9 +3074,9 @@ fsevents@^2.3.2, fsevents@~2.3.2: integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" @@ -3098,7 +3088,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.0, get-func-name@^2.0.2: +get-func-name@^2.0.1, get-func-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== @@ -3215,11 +3205,9 @@ has-tostringtag@^1.0.0: has-symbols "^1.0.2" has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -3388,9 +3376,9 @@ imurmurhash@^0.1.4: integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflation@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" - integrity sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.1.0.tgz#9214db11a47e6f756d111c4f9df96971c60f886c" + integrity sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ== inflight@^1.0.4: version "1.0.6" @@ -3525,9 +3513,9 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz#7a8af094cbfff1d5bb280f62ce043695ae8dd5b8" - integrity sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw== + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -4163,11 +4151,11 @@ logplease@^1.2.15: integrity sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA== loupe@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" - integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== dependencies: - get-func-name "^2.0.0" + get-func-name "^2.0.1" lru-cache@^5.1.1: version "5.1.1" @@ -4366,9 +4354,9 @@ nocache@2.1.0: integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q== node-abi@^3.3.0: - version "3.47.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.47.0.tgz#6cbfa2916805ae25c2b7156ca640131632eb05e8" - integrity sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A== + version "3.51.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.51.0.tgz#970bf595ef5a26a271307f8a4befa02823d4e87d" + integrity sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA== dependencies: semver "^7.3.5" @@ -4410,9 +4398,9 @@ npm-run-path@^4.0.1: path-key "^3.0.0" object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + version "1.13.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.0.tgz#42695d3879e1cd5bda6df5062164d80c996e23e2" + integrity sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g== on-finished@^2.3.0: version "2.4.1" @@ -4829,9 +4817,9 @@ resolve.exports@^2.0.0: integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@^1.1.6, resolve@^1.14.2, resolve@^1.20.0: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" @@ -4965,9 +4953,10 @@ snarkjs@0.3.60: r1csfile "0.0.32" readline "^1.3.0" -snarkjs@0.5.0, "snarkjs@https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e": +snarkjs@0.5.0: version "0.5.0" - resolved "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" + resolved "https://registry.yarnpkg.com/snarkjs/-/snarkjs-0.5.0.tgz#cf26bf1d3835eb16b4b330a438bad9824837d6b0" + integrity sha512-KWz8mZ2Y+6wvn6GGkQo6/ZlKwETdAGohd40Lzpwp5TUZCn6N6O4Az1SuX1rw/qREGL6Im+ycb19suCFE8/xaKA== dependencies: "@iden3/binfileutils" "0.0.11" bfj "^7.0.2" @@ -4977,7 +4966,6 @@ snarkjs@0.5.0, "snarkjs@https://github.com/sampritipanda/snarkjs.git#fef81fc51d1 fastfile "0.0.20" ffjavascript "0.2.56" js-sha3 "^0.8.0" - localforage "^1.10.0" logplease "^1.2.15" r1csfile "0.0.41" @@ -4997,6 +4985,22 @@ snarkjs@^0.7.0: logplease "^1.2.15" r1csfile "0.0.47" +"snarkjs@https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e": + version "0.5.0" + resolved "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" + dependencies: + "@iden3/binfileutils" "0.0.11" + bfj "^7.0.2" + blake2b-wasm "^2.4.0" + circom_runtime "0.1.21" + ejs "^3.1.6" + fastfile "0.0.20" + ffjavascript "0.2.56" + js-sha3 "^0.8.0" + localforage "^1.10.0" + logplease "^1.2.15" + r1csfile "0.0.41" + solady@^0.0.123: version "0.0.123" resolved "https://registry.yarnpkg.com/solady/-/solady-0.0.123.tgz#7ef95767c1570e3efde7550da2a8b439b2f413d2" @@ -5299,6 +5303,11 @@ underscore@1.12.1: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== +undici-types@~5.25.1: + version "5.25.3" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" + integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -5359,13 +5368,13 @@ util@^0.12.4: which-typed-array "^1.1.2" v8-to-istanbul@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== + version "9.1.3" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b" + integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" + convert-source-map "^2.0.0" vary@^1.1.2: version "1.1.2"