From 03cb87d8923fbe65ea46e4029419b7fe9ad4d82b Mon Sep 17 00:00:00 2001 From: 0xturboblitz Date: Mon, 10 Jun 2024 11:54:58 +0200 Subject: [PATCH] bump zk-email version --- ...ifier_sha256WithRSAEncryption_65537.circom | 14 +-- ...ister_sha256WithRSAEncryption_65537.circom | 4 +- circuits/package.json | 4 +- circuits/yarn.lock | 98 ++++--------------- contracts/test/RegisterAndDisclose.ts | 2 +- 5 files changed, 30 insertions(+), 92 deletions(-) diff --git a/circuits/circuits/passport_verifier_sha256WithRSAEncryption_65537.circom b/circuits/circuits/passport_verifier_sha256WithRSAEncryption_65537.circom index fa72a98dc..1c9c16876 100644 --- a/circuits/circuits/passport_verifier_sha256WithRSAEncryption_65537.circom +++ b/circuits/circuits/passport_verifier_sha256WithRSAEncryption_65537.circom @@ -1,8 +1,9 @@ pragma circom 2.1.5; -include "@zk-email/circuits/helpers/rsa.circom"; -include "@zk-email/circuits/helpers/extract.circom"; -include "@zk-email/circuits/helpers/sha.circom"; +include "@zk-email/circuits/lib/rsa.circom"; +include "@zk-email/circuits/utils/bytes.circom"; +include "@zk-email/circuits/lib/sha.circom"; +include "@zk-email/circuits/utils/array.circom"; include "./utils/Sha256BytesStatic.circom"; template PassportVerifier_sha256WithRSAEncryption_65537(n, k, max_datahashes_bytes) { @@ -63,7 +64,6 @@ template PassportVerifier_sha256WithRSAEncryption_65537(n, k, max_datahashes_byt //eContentHash: list of length 256/n +1 of components of n bits component eContentHash[msg_len]; for (var i = 0; i < msg_len; i++) { - //instantiate each component of the list of Bits2Num of size n eContentHash[i] = Bits2Num(n); } @@ -76,14 +76,14 @@ template PassportVerifier_sha256WithRSAEncryption_65537(n, k, max_datahashes_byt } // verify eContentHash signature - component rsa = RSAVerify65537(64, 32); + component rsa = RSAVerifier65537(64, 32); for (var i = 0; i < msg_len; i++) { - rsa.base_message[i] <== eContentHash[i].out; + rsa.message[i] <== eContentHash[i].out; } for (var i = msg_len; i < k; i++) { - rsa.base_message[i] <== 0; + rsa.message[i] <== 0; } rsa.modulus <== pubkey; diff --git a/circuits/circuits/register_sha256WithRSAEncryption_65537.circom b/circuits/circuits/register_sha256WithRSAEncryption_65537.circom index 54ebc0232..914ff66ab 100644 --- a/circuits/circuits/register_sha256WithRSAEncryption_65537.circom +++ b/circuits/circuits/register_sha256WithRSAEncryption_65537.circom @@ -1,7 +1,7 @@ pragma circom 2.1.5; include "circomlib/circuits/poseidon.circom"; -include "@zk-email/circuits/helpers/extract.circom"; +include "@zk-email/circuits/utils/bytes.circom"; include "./passport_verifier_sha256WithRSAEncryption_65537.circom"; include "./utils/chunk_data.circom"; include "./utils/compute_pubkey_leaf.circom"; @@ -43,7 +43,7 @@ template Register_sha256WithRSAEncryption_65537(n, k, max_datahashes_bytes, nLev poseidon_hasher.inputs[1] <== attestation_id; poseidon_hasher.inputs[2] <== leaf; - signal mrz_packed[3] <== PackBytes(93, 3, 31)(mrz); + signal mrz_packed[3] <== PackBytes(93)(mrz); for (var i = 0; i < 3; i++) { poseidon_hasher.inputs[i + 3] <== mrz_packed[i]; } diff --git a/circuits/package.json b/circuits/package.json index 0cda3ec9e..9e62ed205 100644 --- a/circuits/package.json +++ b/circuits/package.json @@ -11,8 +11,8 @@ "@types/chai-as-promised": "^7.1.6", "@types/node": "^20.11.19", "@types/node-forge": "^1.3.5", - "@zk-email/circuits": "^3.2.2", - "@zk-email/helpers": "^3.1.3", + "@zk-email/circuits": "^6.1.1", + "@zk-email/helpers": "^6.1.1", "@zk-email/zk-regex-circom": "^1.2.1", "@zk-kit/binary-merkle-root.circom": "^1.0.0-beta", "@zk-kit/circuits": "^1.0.0-beta", diff --git a/circuits/yarn.lock b/circuits/yarn.lock index 115b19930..629c6bc21 100644 --- a/circuits/yarn.lock +++ b/circuits/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@adraffy/ens-normalize@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" - integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== - "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -387,18 +382,6 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@noble/curves@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - -"@noble/hashes@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -463,11 +446,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - "@types/node@^20.11.19": version "20.11.19" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" @@ -475,39 +453,29 @@ dependencies: undici-types "~5.26.4" -"@zk-email/circuits@^3.2.2": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@zk-email/circuits/-/circuits-3.2.3.tgz#24e16706bc1f46eab5b6e51185faf8d8afe28175" - integrity sha512-dAOaEul2iq86f69FFaXK/u3ec+Lk6B3vpbapyJ9oKGgWeINilWJQaEP1WSJyeVV52zPRVE5uDkIVhIguU7jk2g== +"@zk-email/circuits@^6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@zk-email/circuits/-/circuits-6.1.1.tgz#6eff8063fc71bf5ad38c90c552e9bfdfcd7247c6" + integrity sha512-O09UQjEY0sM8gfR6M2/KJPZfIac7xuVHvpwyTCxTpb+CZvt3qXhhRcrDm3CoHOpvtRGS3sI9SdUQZipiiSiR/w== dependencies: - "@zk-email/zk-regex-circom" "^1.1.1" + "@zk-email/zk-regex-circom" "^2.1.0" + circomlib "^2.0.5" -"@zk-email/helpers@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@zk-email/helpers/-/helpers-3.1.3.tgz#c3e603955ea794b9506968e910249b990b1b536a" - integrity sha512-a6iyWugDkm5RKnXd3q0bAqXWuJ4nKtRinQD8jt5UhiDKD2OJ8SAc+tvgeHOTyZx90nKP6mDolGEy+tWAWpdVMg== +"@zk-email/helpers@^6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@zk-email/helpers/-/helpers-6.1.1.tgz#3172d07c7fd1ce56a2957dc9ff32b0bc7d1592a3" + integrity sha512-u3LYa8rLdLCvy4FpgXOfQNJPOIrj26CwxLDEYOwyDwYpdSdvEgqE/FL1h2Rwkr1TdbneWaCeSVQC4jhtQaXswg== dependencies: addressparser "^1.0.1" atob "^2.1.2" circomlibjs "^0.1.7" - ethers "^6.8.0" libmime "^5.2.1" localforage "^1.10.0" - lodash "^4.17.21" node-forge "^1.3.1" pako "^2.1.0" - pki "^1.1.0" psl "^1.9.0" snarkjs "https://github.com/sampritipanda/snarkjs.git#fef81fc51d17a734637555c6edbd585ecda02d9e" -"@zk-email/zk-regex-circom@^1.1.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-1.2.1.tgz#ea1adc832e8d855c9568abc438567a524a0ac962" - integrity sha512-+AoH5PdKZxatTWfwYWGkpuQ0xGaax6FwBHvdYXugkPDdgtJQYyxhItQtM79bo0djCmuwEK2X1rnYlFHBDClQeA== - dependencies: - commander "^11.0.0" - snarkjs "^0.7.0" - "@zk-email/zk-regex-circom@^1.2.1": version "1.3.0" resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-1.3.0.tgz#8cb2b3b4977cfe42dc7072e13795e10d92efa074" @@ -516,6 +484,14 @@ commander "^11.0.0" snarkjs "^0.7.0" +"@zk-email/zk-regex-circom@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-2.1.0.tgz#cc2f1d93fb130a9f8ac88114d3559a296df97538" + integrity sha512-Ayq0Hk4m7w1UHPPx2c5bUWLdKUPnuK62AZFOyiIvA7x4NgRyvjxe+S4D5KFH5FIz4PgEnXVxgscSSbe5p/GCvQ== + dependencies: + commander "^11.0.0" + snarkjs "^0.7.0" + "@zk-kit/binary-merkle-root.circom@^1.0.0-beta": version "1.0.0-beta" resolved "https://registry.yarnpkg.com/@zk-kit/binary-merkle-root.circom/-/binary-merkle-root.circom-1.0.0-beta.tgz#1124840ff3d0af8c28ad4d9ee5004d41f6768978" @@ -568,11 +544,6 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1103,19 +1074,6 @@ ethers@^5.5.1: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -ethers@^6.8.0: - version "6.11.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.11.1.tgz#96aae00b627c2e35f9b0a4d65c7ab658259ee6af" - integrity sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -1516,11 +1474,6 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - log-symbols@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -1708,11 +1661,6 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pki@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pki/-/pki-1.1.0.tgz#abd7c257816ceb2a0c0afef5642180227355d173" - integrity sha512-OzMMXAo8sI7X3+EW46eIfGfOnuM0d0Cef0iVp7UUCsh2VV7RvsUztLTc6xacBwgsz16Vp6qQuQA8Lep5bxeuOA== - poseidon-lite@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/poseidon-lite/-/poseidon-lite-0.2.0.tgz#dbc242ebd9c10c32d507a533fa497231d168fd72" @@ -1999,11 +1947,6 @@ tsconfig-paths@^3.5.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -2116,11 +2059,6 @@ ws@7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" diff --git a/contracts/test/RegisterAndDisclose.ts b/contracts/test/RegisterAndDisclose.ts index cab6030bd..64e49e252 100644 --- a/contracts/test/RegisterAndDisclose.ts +++ b/contracts/test/RegisterAndDisclose.ts @@ -340,7 +340,7 @@ describe("Proof of Passport - Contracts - Register & Disclose flow", function () it("SBT mint should fail with same proof twice - SBT", async function () { await expect(sbt.mint(formattedCallData_disclose)) - .to.be.revertedWith("Signature already nullified"); + .to.be.reverted; }); });