Skip to content

Commit 416118f

Browse files
authored
Update NoirRegisterIdentity_ID_Card_I. Add rarimo-l2-testnet conf (#48)
* Added C_RSA_SHA2_2048_122125 * Added more dispatchers * Added verifier * Added more dispatchers * Added an ability to register expired certificates * Updated CHANGELOG.md * Updated CHANGELOG.md * Updated NoirRegisterIdentity_ID_Card_I * Fixed comments * Fixed tests
1 parent e2f27b7 commit 416118f

File tree

8 files changed

+82
-61
lines changed

8 files changed

+82
-61
lines changed

contracts/mock/sdk/ProofBuilderTest.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ contract ProofBuilderTest is AQueryProofExecutor {
2020
bytes32,
2121
uint256,
2222
bytes memory
23-
) public pure override returns (uint256) {
23+
) internal pure override returns (uint256) {
2424
return 0;
2525
}
2626

contracts/passport/verifiers2/noir/NoirRegisterIdentity_ID_Card_I.sol

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,214 +1,214 @@
1-
// Verification Key Hash: 8d62cef4d72290a2bfbe84634e3194ff45632e01153fac14595aff46d81e4ffb
1+
// Verification Key Hash: d5c1a3d188155b4a470c470501e5c729ec1dfa7a3fd839ee67a74eafb5b596a3
22
// SPDX-License-Identifier: Apache-2.0
33
// Copyright 2022 Aztec
44
pragma solidity >=0.8.4;
55

66
library UltraVerificationKey {
77
function verificationKeyHash() internal pure returns (bytes32) {
8-
return 0x8d62cef4d72290a2bfbe84634e3194ff45632e01153fac14595aff46d81e4ffb;
8+
return 0xd5c1a3d188155b4a470c470501e5c729ec1dfa7a3fd839ee67a74eafb5b596a3;
99
}
1010

1111
function loadVerificationKey(uint256 _vk, uint256 _omegaInverseLoc) internal pure {
1212
assembly {
1313
mstore(
1414
add(_vk, 0x00),
15-
0x0000000000000000000000000000000000000000000000000000000000010000
15+
0x0000000000000000000000000000000000000000000000000000000000040000
1616
) // vk.circuit_size
1717
mstore(
1818
add(_vk, 0x20),
19-
0x0000000000000000000000000000000000000000000000000000000000000018
19+
0x0000000000000000000000000000000000000000000000000000000000000005
2020
) // vk.num_inputs
2121
mstore(
2222
add(_vk, 0x40),
23-
0x00eeb2cb5981ed45649abebde081dcff16c8601de4347e7dd1628ba2daac43b7
23+
0x19ddbcaf3a8d46c15c0176fbb5b95e4dc57088ff13f4d1bd84c6bfa57dcdc0e0
2424
) // vk.work_root
2525
mstore(
2626
add(_vk, 0x60),
27-
0x30641e0e92bebef818268d663bcad6dbcfd6c0149170f6d7d350b1b1fa6c1001
27+
0x30644259cd94e7dd5045d7a27013b7fcd21c9e3b7fa75222e7bda49b729b0401
2828
) // vk.domain_inverse
2929
mstore(
3030
add(_vk, 0x80),
31-
0x2fe635b93451cb4707b5a5e4d7550e8cec3cffaf2919a855b828a163de7fb2d7
31+
0x28db5170635b4a53e5a0a4dfe5281c2f10a925bfdc36ec5c7b75767861a1de3a
3232
) // vk.Q1.x
3333
mstore(
3434
add(_vk, 0xa0),
35-
0x2b03e828032302c210d4bd9920af2ba82fe139020bf7c70be29a9c67734905c1
35+
0x093426f3650824a52c9bc897436f8e7b24c3b6dde8e06bc67a94c894f9e59830
3636
) // vk.Q1.y
3737
mstore(
3838
add(_vk, 0xc0),
39-
0x20f6c6a2454a993bc8ca7ae8f824a61bbbb6b4d90ad3bda6fdca06900723f3fc
39+
0x0b0728c118261ab4fce7dc7ac5e93e268208f7fe88313a705fd731edf5b65ee3
4040
) // vk.Q2.x
4141
mstore(
4242
add(_vk, 0xe0),
43-
0x17de819cadac01890b878899c75be65b2f155414eef6b3fe18c472bb9bd5ab14
43+
0x2159824c560f21d0bc5191bad470dc9db86dacb6e46a836e295fcff36a081899
4444
) // vk.Q2.y
4545
mstore(
4646
add(_vk, 0x100),
47-
0x2f08fd8561e490c11c291782bc73c480406c5a705b8f83ece78c6a10112f8ed7
47+
0x1dba74c06fd408e49fe7e4dafc5304bcb5ba1fe14d6c2f052e35403d1e5c3dd6
4848
) // vk.Q3.x
4949
mstore(
5050
add(_vk, 0x120),
51-
0x09f6ae6a3aa3fdf40c07fe7cca4151b96ace3a0d00d76aa219803bd6d5118e03
51+
0x1a3798a79ce09ec24d4f8db90efe90b46fd8fb28539bc29982a1391c46ec8756
5252
) // vk.Q3.y
5353
mstore(
5454
add(_vk, 0x140),
55-
0x21af874da59d2a450ebecbbfa47a0af4d8698e94fd4bb8dc4cfe153dae388407
55+
0x1f87a651a0c1a3aac9cf048a5b9f7e43f3840f56ccea7818ec5fc29c44e0483f
5656
) // vk.Q4.x
5757
mstore(
5858
add(_vk, 0x160),
59-
0x04806c5f3e7a5b6e517982c4b4be8a119d10b7427dcf9f5b83de7cac4a0993d1
59+
0x0238b1835fbc5ac8035b486a2f029e6617014fce5d012f83513b6eb5faf6b2b8
6060
) // vk.Q4.y
6161
mstore(
6262
add(_vk, 0x180),
63-
0x00329617bf409298e5f21e3c4fef1bc6dbf23b8e1bb9251f3f7c231abc586553
63+
0x23613415e69b7022120377b4c4da5bd4c002d31cc578e0fa36e1017a2dd20895
6464
) // vk.Q_M.x
6565
mstore(
6666
add(_vk, 0x1a0),
67-
0x1c4b052847e8ad5adb688efae3a1deda973ebfcdc46077b24815ba3a6e905408
67+
0x03bba97a154d38ab281b5558ee1c158668c377b05ccb48563f876bd2ccedcf90
6868
) // vk.Q_M.y
6969
mstore(
7070
add(_vk, 0x1c0),
71-
0x2b5bace6526e67506b0582d40a9700ea2b826275b55beec87731bad46347474c
71+
0x219455b88b2b9d96bb6da5a723cb2d34c3f643e3e76d59973f75491bedc58482
7272
) // vk.Q_C.x
7373
mstore(
7474
add(_vk, 0x1e0),
75-
0x10eb2418cd18d4c1db49a8b47c124c26dded18db59a5dccecce10ac2ba7aec05
75+
0x1b0d1110fb51d249443ea8772a625cde907bd8faaaa28f257c4cf7ec45c16900
7676
) // vk.Q_C.y
7777
mstore(
7878
add(_vk, 0x200),
79-
0x2d03e9ca29cd2145c51fe0a1b5a04b3e8fc3f8ae6d6c05a5ed77088444b866b5
79+
0x003812b369d5b9696e1ac8061fcf96501cb88a18d003fe38b7e7277bc66f9e56
8080
) // vk.Q_ARITHMETIC.x
8181
mstore(
8282
add(_vk, 0x220),
83-
0x0331586b56c2bfa90994e07d16b9fc2af3f5ecccd1d939e6d336499b5c387ac6
83+
0x00c6659188c4f61acad6564a5c7431cde0b32592613d3df2d0be093b58411b95
8484
) // vk.Q_ARITHMETIC.y
8585
mstore(
8686
add(_vk, 0x240),
87-
0x23e27f066a8f576a84b637abf2cd6fe81f019e084189d51f5b2254497943897e
87+
0x030625823b7a5364520ee32519d4f8680b2930ff3914f162f8952bd71d03de6d
8888
) // vk.QSORT.x
8989
mstore(
9090
add(_vk, 0x260),
91-
0x11caab66ae41a2ed78e9a4a802218a3fbb0b5a64cba30a636b3bfffd919c4f72
91+
0x2e3a977f53c7a5a6496ba215a46d7de7b6e684add59782ba6c115cfb69b2a91a
9292
) // vk.QSORT.y
9393
mstore(
9494
add(_vk, 0x280),
95-
0x21245d6c0a4d2ff12b21a825f39f30e8f8cf9b259448d111183e975828539576
95+
0x2d5247c138f521f72a738d5497ad48d7fac4e2369d9a8e99a9b9f8070d931963
9696
) // vk.Q_ELLIPTIC.x
9797
mstore(
9898
add(_vk, 0x2a0),
99-
0x16a409532c8a1693536e93b6ce9920bfc2e6796e8dfe404675a0cdf6ee77ee7a
99+
0x055c8ea419d61ab8dcc3533ad944e83262d0648c1864002d48a5f4907aa301a4
100100
) // vk.Q_ELLIPTIC.y
101101
mstore(
102102
add(_vk, 0x2c0),
103-
0x2f213c7a4c064a63d6a07366df0ea85aef9ad2125a188c3e656f95471e416a0a
103+
0x04c1c7e09ddf0b30c072fa67c1130ef535101dc5ac15772dcd2c80000eaf822a
104104
) // vk.Q_AUX.x
105105
mstore(
106106
add(_vk, 0x2e0),
107-
0x067a270bed55e72ffb3cfa39af3e5b8bcb4961d72bb301978af13c4ddc73e5df
107+
0x2c2181a82639e938c2c0440146add2f9f6fe5c62c2f7e6e946fccbd4b362adf8
108108
) // vk.Q_AUX.y
109109
mstore(
110110
add(_vk, 0x300),
111-
0x1d98cdfb4d616f0275a0312637010bea8341fc0566b1702126acbc0917c72c3b
111+
0x18a889732f6b7e779682cf243c36db451fdd30525e2a47812544d86d237c7872
112112
) // vk.SIGMA1.x
113113
mstore(
114114
add(_vk, 0x320),
115-
0x0e04ccd304b553858149fe0c71ef783f0fbfca8e23031b1d899e28621cde7d84
115+
0x0f9558096bf13b9c4212e8ca6e8fc23b05356f338c5a3fb32ef32c55658d3d5e
116116
) // vk.SIGMA1.y
117117
mstore(
118118
add(_vk, 0x340),
119-
0x263918709aedd152f21968e9081bc9628c92b23cb43f56686dd2de141c7e391d
119+
0x08c948dc281210eef01b6d7443f8050ba77f3b14adb9683c4b7b5fbaad7623f6
120120
) // vk.SIGMA2.x
121121
mstore(
122122
add(_vk, 0x360),
123-
0x2db0f14d4c2b882371755e2fbb2c6ac1f1a97b7db7ae72ea401e6e83b4229943
123+
0x276ad464453c6f7ee8d4098c30ad620561407522694720bb5b8b0e73f69e194d
124124
) // vk.SIGMA2.y
125125
mstore(
126126
add(_vk, 0x380),
127-
0x08746497554b815bb38c1da5415cfd188931b02495d6b38f2bb48ee09e4e85bf
127+
0x301f175c45935b86841f2d591364d4b0d5128b06ca8b06c11f609dc3f676008c
128128
) // vk.SIGMA3.x
129129
mstore(
130130
add(_vk, 0x3a0),
131-
0x0bf3993d00ac2c6140bc1859f7e233ec0c165654a7a9e9629e4f809653814998
131+
0x21dd4b9f0545e91303b3b5f8056792cde06fbe0f3ae1fd51bcca55fdcd0f8742
132132
) // vk.SIGMA3.y
133133
mstore(
134134
add(_vk, 0x3c0),
135-
0x10af4766e77ee46bcab61fff76fa05c22f6842c2211d40ba18b40f2a5bd33ee0
135+
0x241e6e5fc6c91ad4851e9db68b3e94846df9177d2f5f9b51d3bd96d26fdd3a75
136136
) // vk.SIGMA4.x
137137
mstore(
138138
add(_vk, 0x3e0),
139-
0x04c48ad770c39e7c5012fc352248fcc5bf672800c0f626d298531311ca4a115b
139+
0x1ec16114ab445e4a54010b2ee1262e32e294a6f85ab33a42616a67d9190af66b
140140
) // vk.SIGMA4.y
141141
mstore(
142142
add(_vk, 0x400),
143-
0x187e7e35d0116a6672b2670f83bf4f3257d2c5f95ca990943deb07f98e573f87
143+
0x19b61a351dd84dba67e693c94427f2371d1fd92415b89e248b2751824f04c473
144144
) // vk.TABLE1.x
145145
mstore(
146146
add(_vk, 0x420),
147-
0x01d2b37054e35124153a8d470749d60e55759ae7aa52dd33c253d7f49f31b768
147+
0x0ba2752df3fcfc80035121b3992c46f921726aec523701b5d685439f588998e3
148148
) // vk.TABLE1.y
149149
mstore(
150150
add(_vk, 0x440),
151-
0x2043ac05206a2f580ed0a148adfaa26ef5516184126c9e67a8741e133af924cc
151+
0x0a3f709ca24aa47884f370f915e6e8c3a48c42670a632effaf16611e94ff5bb5
152152
) // vk.TABLE2.x
153153
mstore(
154154
add(_vk, 0x460),
155-
0x2bf9b2f5f18eac63843fec205836e0e4cf77146523cb2b703ec9fd6f505b2a32
155+
0x2cbbd6ff4c1c60a5ca2e33a1635ffc965519beecc980740fe89164363abbbe81
156156
) // vk.TABLE2.y
157157
mstore(
158158
add(_vk, 0x480),
159-
0x01239374280500d61d963adeadc1cfef87ce7f19adb4f4f90c79f63d96468023
159+
0x14083ff6ecafd5b48769e45d54be164de5c86508b6598803a0b917ea9344b92b
160160
) // vk.TABLE3.x
161161
mstore(
162162
add(_vk, 0x4a0),
163-
0x0290f83ff91799507e620788f5072a71dd03df9c5605f9594bec63d1763724ca
163+
0x105ec995f2823a4915341542e77f122554a8f4b486c30958890c6dd487dbdffb
164164
) // vk.TABLE3.y
165165
mstore(
166166
add(_vk, 0x4c0),
167-
0x089ec02dcc6b3216cf9b4418e0827ad4b07d55d3ffa2b21da0743809bae4c2c8
167+
0x0f0659a7b88acc874481318fe28c2ce6e7f3aea8c7686da45bd62e9a918ab25a
168168
) // vk.TABLE4.x
169169
mstore(
170170
add(_vk, 0x4e0),
171-
0x1c522d467e79e574c6bce1ef45cbb9598cc3a99de2de1ce994d0b657450b05b2
171+
0x2a6ff08dfc03f23751808a9b45a3e311ddc85b7dd06a7d98daf3bf394f297990
172172
) // vk.TABLE4.y
173173
mstore(
174174
add(_vk, 0x500),
175-
0x2546faf6466689ca90de400304774d39e62e214c390b3a8673079fdbddecbd33
175+
0x2c849ece5bdcece36cf299dd39b97ca5ce8e0092eeb066f4b93fa66d3a3e4bb5
176176
) // vk.TABLE_TYPE.x
177177
mstore(
178178
add(_vk, 0x520),
179-
0x1d6d3e828b1f70d792d184284184663d315a9e15827e8b76bcb8118293212f18
179+
0x079cc2396ba931315c0ff04f13abb9d66b85816e7f1f7672d5b9a83e5c8818d5
180180
) // vk.TABLE_TYPE.y
181181
mstore(
182182
add(_vk, 0x540),
183-
0x0f9ad17d043d3b3c65947b4e1d8b453e80d5104864893ceaee424dfa503162ab
183+
0x07254c2e3ef1cdeb3c65fa7d0a00d4b0f88c3faa0ed985cdca179f25727b8650
184184
) // vk.ID1.x
185185
mstore(
186186
add(_vk, 0x560),
187-
0x10ef0496fae6ddbd24f11fd752c77230f032c404636e8d4cfec5e495e78a1762
187+
0x04451f2f719a8850e4ce4303e69092696385d3a4a3a92b59c464bbb64af910ce
188188
) // vk.ID1.y
189189
mstore(
190190
add(_vk, 0x580),
191-
0x2d46bf49c8302371835864fb8ccefc5e321327045be7a8fa09893b67f8a89d28
191+
0x2ff8ed9e3a5007e768cbf4a538107edec70013dd1085c09129fcc016d1f1b28a
192192
) // vk.ID2.x
193193
mstore(
194194
add(_vk, 0x5a0),
195-
0x0789b91464107795f91d0a27eaacac0118bc32081aec7e5c25ab71d774ea8d63
195+
0x06bafb2745e4fb9a958fc4376a33742f25527f6e2d667f69807799a875e81cc2
196196
) // vk.ID2.y
197197
mstore(
198198
add(_vk, 0x5c0),
199-
0x28218531b960430b7450a9d39fe6da6210fec3c46676489df3a5d1d5ad5beaa0
199+
0x1f0c666532e4f82dff79e0d51f4a13ca451c0549536eba8514f43978a5c8d916
200200
) // vk.ID3.x
201201
mstore(
202202
add(_vk, 0x5e0),
203-
0x0ec63f076881497eb80c83762afcb218f407e8b38a31e8a8cd4218f892219efd
203+
0x1df51870b9b10f59b7eb46539d55979a8cbfe257c19e4d9e7da5c580856b5ecf
204204
) // vk.ID3.y
205205
mstore(
206206
add(_vk, 0x600),
207-
0x08ee7f44dde7619712a395bb6509e08c57dc06c56d181a6c290c2f75b9157e9e
207+
0x20d5c95505dd622318e25f35481c90b2af2b80fc1c6fc660aec27d0a1becef9d
208208
) // vk.ID4.x
209209
mstore(
210210
add(_vk, 0x620),
211-
0x0762e1f349ade86691c36903dfa9969652232351ce8b12730a67722fa5f841f9
211+
0x0a7b58fdc17ca01552e508bda0b472a9f4c03f70aeac2469535be097f0550f56
212212
) // vk.ID4.y
213213
mstore(add(_vk, 0x640), 0x00) // vk.contains_pairing_point_accumulator
214214
mstore(add(_vk, 0x660), 0) // vk.pairing_point_accumulator_public_input_indices
@@ -230,7 +230,7 @@ library UltraVerificationKey {
230230
) // vk.g2_x.Y.c0
231231
mstore(
232232
_omegaInverseLoc,
233-
0x0b5d56b77fe704e8e92338c0082f37e091126414c830e4c6922d5ac802d842d4
233+
0x036853f083780e87f8d7c71d111119c57dbe118c22d5ad707a82317466c5174c
234234
) // vk.work_root_inverse
235235
}
236236
}

contracts/sdk/AQueryProofExecutor.sol

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ abstract contract AQueryProofExecutor is Initializable {
5757
bytes32 registrationRoot_,
5858
uint256 currentDate_,
5959
bytes memory userPayload_
60-
) public virtual {}
60+
) internal virtual {}
6161

6262
/**
6363
* @notice Hook executed after a `successful` ZK proof verification.
@@ -70,7 +70,7 @@ abstract contract AQueryProofExecutor is Initializable {
7070
bytes32 registrationRoot_,
7171
uint256 currentDate_,
7272
bytes memory userPayload_
73-
) public virtual {}
73+
) internal virtual {}
7474

7575
/**
7676
* @notice Abstract function responsible for constructing the public signals array for the ZK proof.
@@ -83,7 +83,7 @@ abstract contract AQueryProofExecutor is Initializable {
8383
bytes32 registrationRoot_,
8484
uint256 currentDate_,
8585
bytes memory userPayload_
86-
) public view virtual returns (uint256 builder_);
86+
) internal view virtual returns (uint256 builder_);
8787

8888
/**
8989
* @notice Executes the full ZK proof verification workflow for a Circom (Groth16) proof.

deploy/config/config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,9 @@ export async function getConfig() {
1717
return await import("./rarimo-beta");
1818
}
1919

20+
if (hre.network.name == "rarimo-l2-testnet") {
21+
return await import("./rarimo-l2-testnet");
22+
}
23+
2024
throw new Error(`Config for network ${hre.network.name} is not specified`);
2125
}

deploy/config/rarimo-l2-testnet.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
export const treeSize = 80;
2+
export const owner = "0xD2D15f650654d69F4dFd3aF41c49412c62BD616F";
3+
4+
export const evidenceRegistry = "0x781268D46a654D020922f115D75dd3D56D287812";
5+
6+
export const icaoMasterTreeMerkleRoot = "0x490355b1c9cca56d89c180780c5ea66c1766d57cf22670c7a9a07dc18b835a4f";
7+
8+
export const registrationName = "SecondRegistration";
9+
export const simpleRegistrationName = "SimpleRegistration";
10+
export const simpleRegistrationSigners = [
11+
"0xE874cf05A7aA1F8710669f98E3db951d99a46f85",
12+
"0xD2D15f650654d69F4dFd3aF41c49412c62BD616F",
13+
];
14+
15+
export const registration2 = "0x0000000000000000000000000000000000000000";
16+
export const stateKeeper = "0x0000000000000000000000000000000000000000";

deploy/config/rarimo-l2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ export const owner = "0xBfA356D6eDe4ba54015584881157A8C283aA5950";
33

44
export const evidenceRegistry = "0x781268D46a654D020922f115D75dd3D56D287812";
55

6-
export const icaoMasterTreeMerkleRoot = "0x0eef24f25513eb3d3e13856805319553013158c347209287d090d3100e33c55b";
6+
export const icaoMasterTreeMerkleRoot = "0x490355b1c9cca56d89c180780c5ea66c1766d57cf22670c7a9a07dc18b835a4f";
77

88
export const registrationName = "SecondRegistration";
99
export const simpleRegistrationName = "SimpleRegistration";

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@rarimo/passport-contracts",
3-
"version": "0.4.2",
3+
"version": "0.4.3",
44
"license": "MIT",
55
"author": "Zero Block Global Foundation",
66
"readme": "README.md",
@@ -31,6 +31,7 @@
3131
"private-network": "npx hardhat node",
3232
"private-network-fork": "npx hardhat node --fork https://mainnet.infura.io/v3/$(grep INFURA_KEY .env | cut -d '\"' -f2)",
3333
"deploy-rarimo-l2": "npx hardhat migrate --network rarimo-l2 --verify",
34+
"deploy-rarimo-l2-testnet": "npx hardhat migrate --network rarimo-l2-testnet --verify",
3435
"deploy-rarimo-dev": "npx hardhat migrate --network rarimo-dev --verify",
3536
"deploy-rarimo-beta": "npx hardhat migrate --network rarimo-beta --verify",
3637
"generate-types": "TYPECHAIN_FORCE=true npx hardhat typechain && npx hardhat gobind",

0 commit comments

Comments
 (0)