@zentity/fhevm-contracts 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/abi/ComplianceRules.json +25 -16
  2. package/abi/CompliantERC20.json +30 -16
  3. package/abi/IdentityRegistry.json +496 -119
  4. package/contracts/compliance/ComplianceRules.sol +40 -189
  5. package/contracts/core/IdentityRegistry.sol +280 -232
  6. package/contracts/interfaces/IComplianceRules.sol +30 -0
  7. package/contracts/interfaces/IIdentityRegistry.sol +133 -159
  8. package/contracts/proxy/ERC1967Proxy.sol +6 -0
  9. package/contracts/test/MockFacilitator.sol +40 -0
  10. package/contracts/tokens/CompliantERC20.sol +28 -242
  11. package/deployments/hardhat/addresses.json +3 -8
  12. package/deployments/sepolia/addresses.json +18 -0
  13. package/dist/index.d.ts +178 -14
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +71 -16
  16. package/package.json +3 -2
  17. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
  18. package/typechain-types/@openzeppelin/contracts/access/Ownable2Step.ts +217 -0
  19. package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
  20. package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
  21. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
  22. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  23. package/typechain-types/{contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts} +12 -17
  24. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  25. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +7 -0
  26. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +105 -0
  27. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
  28. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  29. package/typechain-types/@openzeppelin/contracts/proxy/Proxy.ts +69 -0
  30. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
  31. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  32. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +8 -0
  33. package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
  34. package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
  35. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  36. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  37. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  38. package/typechain-types/@openzeppelin/contracts/utils/index.ts +10 -0
  39. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  40. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  41. package/typechain-types/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +251 -0
  42. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +186 -0
  43. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  44. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  45. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  46. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
  47. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
  48. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  49. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
  50. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +184 -0
  51. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  52. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  53. package/typechain-types/@openzeppelin/index.ts +7 -0
  54. package/typechain-types/contracts/compliance/ComplianceRules.ts +18 -7
  55. package/typechain-types/contracts/core/IdentityRegistry.ts +493 -233
  56. package/typechain-types/contracts/index.ts +2 -0
  57. package/typechain-types/contracts/interfaces/IComplianceRules.ts +290 -0
  58. package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +269 -341
  59. package/typechain-types/contracts/interfaces/index.ts +1 -0
  60. package/typechain-types/contracts/test/MockFacilitator.ts +187 -0
  61. package/typechain-types/contracts/test/index.ts +4 -0
  62. package/typechain-types/contracts/tokens/{CompliantERC20.sol/CompliantERC20.ts → CompliantERC20.ts} +19 -8
  63. package/typechain-types/contracts/tokens/index.ts +1 -2
  64. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.ts +138 -0
  65. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +96 -0
  66. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
  67. package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
  68. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
  69. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  70. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
  71. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  72. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +6 -0
  73. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +144 -0
  74. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
  75. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  76. package/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +26 -0
  77. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
  78. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  79. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +6 -0
  80. package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
  81. package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
  82. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  83. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  84. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  85. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +8 -0
  86. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  87. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  88. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +165 -0
  89. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +122 -0
  90. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  91. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  92. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  93. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
  94. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
  95. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  96. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
  97. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +97 -0
  98. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  99. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  100. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  101. package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +26 -17
  102. package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +493 -116
  103. package/typechain-types/factories/contracts/index.ts +1 -0
  104. package/typechain-types/factories/contracts/interfaces/IComplianceRules__factory.ts +193 -0
  105. package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +236 -186
  106. package/typechain-types/factories/contracts/interfaces/index.ts +1 -0
  107. package/typechain-types/factories/contracts/test/MockFacilitator__factory.ts +194 -0
  108. package/typechain-types/factories/contracts/test/index.ts +4 -0
  109. package/typechain-types/factories/contracts/tokens/CompliantERC20__factory.ts +595 -0
  110. package/typechain-types/factories/contracts/tokens/index.ts +1 -1
  111. package/typechain-types/factories/index.ts +1 -0
  112. package/typechain-types/hardhat.d.ts +394 -16
  113. package/typechain-types/index.ts +48 -4
  114. package/deployments/hardhat/.chainId +0 -1
  115. package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
  116. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +0 -581
  117. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +0 -44
  118. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
@@ -9,6 +9,17 @@
9
9
  "name": "AccessProhibited",
10
10
  "type": "error"
11
11
  },
12
+ {
13
+ "inputs": [
14
+ {
15
+ "internalType": "address",
16
+ "name": "target",
17
+ "type": "address"
18
+ }
19
+ ],
20
+ "name": "AddressEmptyCode",
21
+ "type": "error"
22
+ },
12
23
  {
13
24
  "inputs": [],
14
25
  "name": "AlreadyAttested",
@@ -16,71 +27,129 @@
16
27
  },
17
28
  {
18
29
  "inputs": [],
19
- "name": "InvalidOwner",
30
+ "name": "ECDSAInvalidSignature",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "length",
38
+ "type": "uint256"
39
+ }
40
+ ],
41
+ "name": "ECDSAInvalidSignatureLength",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "bytes32",
48
+ "name": "s",
49
+ "type": "bytes32"
50
+ }
51
+ ],
52
+ "name": "ECDSAInvalidSignatureS",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "address",
59
+ "name": "implementation",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ERC1967InvalidImplementation",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ERC1967NonPayable",
20
69
  "type": "error"
21
70
  },
22
71
  {
23
72
  "inputs": [],
24
- "name": "NotAttested",
73
+ "name": "FailedCall",
25
74
  "type": "error"
26
75
  },
27
76
  {
28
77
  "inputs": [],
29
- "name": "OnlyOwner",
78
+ "name": "InvalidInitialization",
30
79
  "type": "error"
31
80
  },
32
81
  {
33
82
  "inputs": [],
34
- "name": "OnlyPendingOwner",
83
+ "name": "InvalidPermit",
35
84
  "type": "error"
36
85
  },
37
86
  {
38
87
  "inputs": [],
39
- "name": "OnlyRegistrar",
88
+ "name": "NotAttested",
40
89
  "type": "error"
41
90
  },
42
91
  {
43
92
  "inputs": [],
44
- "name": "ZamaProtocolUnsupported",
93
+ "name": "NotInitializing",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "OnlyRegistrar",
45
99
  "type": "error"
46
100
  },
47
101
  {
48
- "anonymous": false,
49
102
  "inputs": [
50
103
  {
51
- "indexed": true,
52
- "internalType": "address",
53
- "name": "user",
54
- "type": "address"
55
- },
56
- {
57
- "indexed": true,
58
104
  "internalType": "address",
59
- "name": "grantee",
105
+ "name": "owner",
60
106
  "type": "address"
61
107
  }
62
108
  ],
63
- "name": "AccessGranted",
64
- "type": "event"
109
+ "name": "OwnableInvalidOwner",
110
+ "type": "error"
65
111
  },
66
112
  {
67
- "anonymous": false,
68
113
  "inputs": [
69
114
  {
70
- "indexed": true,
71
115
  "internalType": "address",
72
- "name": "user",
116
+ "name": "account",
73
117
  "type": "address"
74
- },
118
+ }
119
+ ],
120
+ "name": "OwnableUnauthorizedAccount",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "PermitExpired",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [],
130
+ "name": "UUPSUnauthorizedCallContext",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "inputs": [
75
135
  {
76
- "indexed": true,
77
- "internalType": "address",
78
- "name": "registrar",
79
- "type": "address"
136
+ "internalType": "bytes32",
137
+ "name": "slot",
138
+ "type": "bytes32"
80
139
  }
81
140
  ],
82
- "name": "IdentityAttested",
83
- "type": "event"
141
+ "name": "UUPSUnsupportedProxiableUUID",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [],
146
+ "name": "ZamaProtocolUnsupported",
147
+ "type": "error"
148
+ },
149
+ {
150
+ "inputs": [],
151
+ "name": "ZeroAddress",
152
+ "type": "error"
84
153
  },
85
154
  {
86
155
  "anonymous": false,
@@ -94,23 +163,29 @@
94
163
  {
95
164
  "indexed": true,
96
165
  "internalType": "address",
97
- "name": "registrar",
166
+ "name": "grantee",
98
167
  "type": "address"
99
168
  },
100
169
  {
101
- "indexed": true,
102
- "internalType": "uint256",
103
- "name": "attestationId",
104
- "type": "uint256"
170
+ "indexed": false,
171
+ "internalType": "uint8",
172
+ "name": "attributeMask",
173
+ "type": "uint8"
105
174
  },
106
175
  {
107
176
  "indexed": false,
108
- "internalType": "uint256",
109
- "name": "timestamp",
110
- "type": "uint256"
177
+ "internalType": "enum IIdentityRegistry.Purpose",
178
+ "name": "purpose",
179
+ "type": "uint8"
111
180
  }
112
181
  ],
113
- "name": "IdentityAttestedDetailed",
182
+ "name": "AttributeAccessGranted",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [],
188
+ "name": "EIP712DomainChanged",
114
189
  "type": "event"
115
190
  },
116
191
  {
@@ -123,7 +198,7 @@
123
198
  "type": "address"
124
199
  }
125
200
  ],
126
- "name": "IdentityRevoked",
201
+ "name": "IdentityAttested",
127
202
  "type": "event"
128
203
  },
129
204
  {
@@ -134,27 +209,22 @@
134
209
  "internalType": "address",
135
210
  "name": "user",
136
211
  "type": "address"
137
- },
138
- {
139
- "indexed": true,
140
- "internalType": "address",
141
- "name": "registrar",
142
- "type": "address"
143
- },
144
- {
145
- "indexed": true,
146
- "internalType": "uint256",
147
- "name": "attestationId",
148
- "type": "uint256"
149
- },
212
+ }
213
+ ],
214
+ "name": "IdentityRevoked",
215
+ "type": "event"
216
+ },
217
+ {
218
+ "anonymous": false,
219
+ "inputs": [
150
220
  {
151
221
  "indexed": false,
152
- "internalType": "uint256",
153
- "name": "timestamp",
154
- "type": "uint256"
222
+ "internalType": "uint64",
223
+ "name": "version",
224
+ "type": "uint64"
155
225
  }
156
226
  ],
157
- "name": "IdentityRevokedDetailed",
227
+ "name": "Initialized",
158
228
  "type": "event"
159
229
  },
160
230
  {
@@ -163,13 +233,13 @@
163
233
  {
164
234
  "indexed": true,
165
235
  "internalType": "address",
166
- "name": "currentOwner",
236
+ "name": "previousOwner",
167
237
  "type": "address"
168
238
  },
169
239
  {
170
240
  "indexed": true,
171
241
  "internalType": "address",
172
- "name": "pendingOwner",
242
+ "name": "newOwner",
173
243
  "type": "address"
174
244
  }
175
245
  ],
@@ -203,9 +273,15 @@
203
273
  "internalType": "address",
204
274
  "name": "registrar",
205
275
  "type": "address"
276
+ },
277
+ {
278
+ "indexed": false,
279
+ "internalType": "bool",
280
+ "name": "status",
281
+ "type": "bool"
206
282
  }
207
283
  ],
208
- "name": "RegistrarAdded",
284
+ "name": "RegistrarUpdated",
209
285
  "type": "event"
210
286
  },
211
287
  {
@@ -214,29 +290,107 @@
214
290
  {
215
291
  "indexed": true,
216
292
  "internalType": "address",
217
- "name": "registrar",
293
+ "name": "implementation",
218
294
  "type": "address"
219
295
  }
220
296
  ],
221
- "name": "RegistrarRemoved",
297
+ "name": "Upgraded",
222
298
  "type": "event"
223
299
  },
224
300
  {
225
301
  "inputs": [],
226
- "name": "acceptOwnership",
227
- "outputs": [],
228
- "stateMutability": "nonpayable",
302
+ "name": "ATTEST_PERMIT_TYPEHASH",
303
+ "outputs": [
304
+ {
305
+ "internalType": "bytes32",
306
+ "name": "",
307
+ "type": "bytes32"
308
+ }
309
+ ],
310
+ "stateMutability": "view",
229
311
  "type": "function"
230
312
  },
231
313
  {
232
- "inputs": [
314
+ "inputs": [],
315
+ "name": "ATTR_ALL",
316
+ "outputs": [
233
317
  {
234
- "internalType": "address",
235
- "name": "registrar",
236
- "type": "address"
318
+ "internalType": "uint8",
319
+ "name": "",
320
+ "type": "uint8"
237
321
  }
238
322
  ],
239
- "name": "addRegistrar",
323
+ "stateMutability": "view",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [],
328
+ "name": "ATTR_BIRTH_YEAR",
329
+ "outputs": [
330
+ {
331
+ "internalType": "uint8",
332
+ "name": "",
333
+ "type": "uint8"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "ATTR_BLACKLIST",
342
+ "outputs": [
343
+ {
344
+ "internalType": "uint8",
345
+ "name": "",
346
+ "type": "uint8"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [],
354
+ "name": "ATTR_COMPLIANCE",
355
+ "outputs": [
356
+ {
357
+ "internalType": "uint8",
358
+ "name": "",
359
+ "type": "uint8"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [],
367
+ "name": "ATTR_COUNTRY",
368
+ "outputs": [
369
+ {
370
+ "internalType": "uint8",
371
+ "name": "",
372
+ "type": "uint8"
373
+ }
374
+ ],
375
+ "stateMutability": "view",
376
+ "type": "function"
377
+ },
378
+ {
379
+ "inputs": [],
380
+ "name": "UPGRADE_INTERFACE_VERSION",
381
+ "outputs": [
382
+ {
383
+ "internalType": "string",
384
+ "name": "",
385
+ "type": "string"
386
+ }
387
+ ],
388
+ "stateMutability": "view",
389
+ "type": "function"
390
+ },
391
+ {
392
+ "inputs": [],
393
+ "name": "acceptOwnership",
240
394
  "outputs": [],
241
395
  "stateMutability": "nonpayable",
242
396
  "type": "function"
@@ -244,9 +398,61 @@
244
398
  {
245
399
  "inputs": [
246
400
  {
247
- "internalType": "address",
248
- "name": "user",
249
- "type": "address"
401
+ "components": [
402
+ {
403
+ "internalType": "uint8",
404
+ "name": "birthYearOffset",
405
+ "type": "uint8"
406
+ },
407
+ {
408
+ "internalType": "uint16",
409
+ "name": "countryCode",
410
+ "type": "uint16"
411
+ },
412
+ {
413
+ "internalType": "uint8",
414
+ "name": "complianceLevel",
415
+ "type": "uint8"
416
+ },
417
+ {
418
+ "internalType": "bool",
419
+ "name": "isBlacklisted",
420
+ "type": "bool"
421
+ },
422
+ {
423
+ "internalType": "bytes32",
424
+ "name": "proofSetHash",
425
+ "type": "bytes32"
426
+ },
427
+ {
428
+ "internalType": "uint32",
429
+ "name": "policyVersion",
430
+ "type": "uint32"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "deadline",
435
+ "type": "uint256"
436
+ },
437
+ {
438
+ "internalType": "uint8",
439
+ "name": "v",
440
+ "type": "uint8"
441
+ },
442
+ {
443
+ "internalType": "bytes32",
444
+ "name": "r",
445
+ "type": "bytes32"
446
+ },
447
+ {
448
+ "internalType": "bytes32",
449
+ "name": "s",
450
+ "type": "bytes32"
451
+ }
452
+ ],
453
+ "internalType": "struct IIdentityRegistry.AttestPermitData",
454
+ "name": "permit",
455
+ "type": "tuple"
250
456
  },
251
457
  {
252
458
  "internalType": "externalEuint8",
@@ -274,7 +480,7 @@
274
480
  "type": "bytes"
275
481
  }
276
482
  ],
277
- "name": "attestIdentity",
483
+ "name": "attestWithPermit",
278
484
  "outputs": [],
279
485
  "stateMutability": "nonpayable",
280
486
  "type": "function"
@@ -291,7 +497,7 @@
291
497
  "outputs": [
292
498
  {
293
499
  "internalType": "uint256",
294
- "name": "timestamp",
500
+ "name": "ts",
295
501
  "type": "uint256"
296
502
  }
297
503
  ],
@@ -299,16 +505,27 @@
299
505
  "type": "function"
300
506
  },
301
507
  {
302
- "inputs": [],
303
- "name": "confidentialProtocolId",
508
+ "inputs": [
509
+ {
510
+ "internalType": "address",
511
+ "name": "user",
512
+ "type": "address"
513
+ },
514
+ {
515
+ "internalType": "uint8",
516
+ "name": "minLevel",
517
+ "type": "uint8"
518
+ }
519
+ ],
520
+ "name": "checkCompliance",
304
521
  "outputs": [
305
522
  {
306
- "internalType": "uint256",
523
+ "internalType": "ebool",
307
524
  "name": "",
308
- "type": "uint256"
525
+ "type": "bytes32"
309
526
  }
310
527
  ],
311
- "stateMutability": "view",
528
+ "stateMutability": "nonpayable",
312
529
  "type": "function"
313
530
  },
314
531
  {
@@ -323,7 +540,7 @@
323
540
  "outputs": [
324
541
  {
325
542
  "internalType": "uint256",
326
- "name": "attestationId",
543
+ "name": "id",
327
544
  "type": "uint256"
328
545
  }
329
546
  ],
@@ -331,34 +548,43 @@
331
548
  "type": "function"
332
549
  },
333
550
  {
334
- "inputs": [
551
+ "inputs": [],
552
+ "name": "eip712Domain",
553
+ "outputs": [
335
554
  {
336
- "internalType": "address",
337
- "name": "user",
338
- "type": "address"
555
+ "internalType": "bytes1",
556
+ "name": "fields",
557
+ "type": "bytes1"
339
558
  },
340
559
  {
341
- "internalType": "uint256",
342
- "name": "attestationId",
343
- "type": "uint256"
344
- }
345
- ],
346
- "name": "getAttestationMetadata",
347
- "outputs": [
560
+ "internalType": "string",
561
+ "name": "name",
562
+ "type": "string"
563
+ },
348
564
  {
349
- "internalType": "uint256",
350
- "name": "timestamp",
351
- "type": "uint256"
565
+ "internalType": "string",
566
+ "name": "version",
567
+ "type": "string"
352
568
  },
353
569
  {
354
570
  "internalType": "uint256",
355
- "name": "revokedAt",
571
+ "name": "chainId",
356
572
  "type": "uint256"
357
573
  },
358
574
  {
359
575
  "internalType": "address",
360
- "name": "registrar",
576
+ "name": "verifyingContract",
361
577
  "type": "address"
578
+ },
579
+ {
580
+ "internalType": "bytes32",
581
+ "name": "salt",
582
+ "type": "bytes32"
583
+ },
584
+ {
585
+ "internalType": "uint256[]",
586
+ "name": "extensions",
587
+ "type": "uint256[]"
362
588
  }
363
589
  ],
364
590
  "stateMutability": "view",
@@ -391,7 +617,7 @@
391
617
  "type": "address"
392
618
  }
393
619
  ],
394
- "name": "getBlacklistResult",
620
+ "name": "getBlacklistStatus",
395
621
  "outputs": [
396
622
  {
397
623
  "internalType": "ebool",
@@ -410,10 +636,10 @@
410
636
  "type": "address"
411
637
  }
412
638
  ],
413
- "name": "getBlacklistStatus",
639
+ "name": "getComplianceLevel",
414
640
  "outputs": [
415
641
  {
416
- "internalType": "ebool",
642
+ "internalType": "euint8",
417
643
  "name": "",
418
644
  "type": "bytes32"
419
645
  }
@@ -429,10 +655,10 @@
429
655
  "type": "address"
430
656
  }
431
657
  ],
432
- "name": "getComplianceLevel",
658
+ "name": "getCountryCode",
433
659
  "outputs": [
434
660
  {
435
- "internalType": "euint8",
661
+ "internalType": "euint16",
436
662
  "name": "",
437
663
  "type": "bytes32"
438
664
  }
@@ -448,17 +674,17 @@
448
674
  "type": "address"
449
675
  },
450
676
  {
451
- "internalType": "uint8",
452
- "name": "minLevel",
453
- "type": "uint8"
677
+ "internalType": "address",
678
+ "name": "grantee",
679
+ "type": "address"
454
680
  }
455
681
  ],
456
- "name": "getComplianceLevelResult",
682
+ "name": "getGrantedAttributes",
457
683
  "outputs": [
458
684
  {
459
- "internalType": "ebool",
685
+ "internalType": "uint8",
460
686
  "name": "",
461
- "type": "bytes32"
687
+ "type": "uint8"
462
688
  }
463
689
  ],
464
690
  "stateMutability": "view",
@@ -472,12 +698,12 @@
472
698
  "type": "address"
473
699
  }
474
700
  ],
475
- "name": "getCountryCode",
701
+ "name": "getPolicyVersion",
476
702
  "outputs": [
477
703
  {
478
- "internalType": "euint16",
704
+ "internalType": "uint32",
479
705
  "name": "",
480
- "type": "bytes32"
706
+ "type": "uint32"
481
707
  }
482
708
  ],
483
709
  "stateMutability": "view",
@@ -489,14 +715,28 @@
489
715
  "internalType": "address",
490
716
  "name": "user",
491
717
  "type": "address"
492
- },
718
+ }
719
+ ],
720
+ "name": "getProofSetHash",
721
+ "outputs": [
493
722
  {
494
- "internalType": "uint16",
495
- "name": "country",
496
- "type": "uint16"
723
+ "internalType": "bytes32",
724
+ "name": "",
725
+ "type": "bytes32"
497
726
  }
498
727
  ],
499
- "name": "getCountryResult",
728
+ "stateMutability": "view",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "bytes32",
735
+ "name": "key",
736
+ "type": "bytes32"
737
+ }
738
+ ],
739
+ "name": "getVerificationResult",
500
740
  "outputs": [
501
741
  {
502
742
  "internalType": "ebool",
@@ -520,6 +760,29 @@
520
760
  "stateMutability": "nonpayable",
521
761
  "type": "function"
522
762
  },
763
+ {
764
+ "inputs": [
765
+ {
766
+ "internalType": "address",
767
+ "name": "grantee",
768
+ "type": "address"
769
+ },
770
+ {
771
+ "internalType": "uint8",
772
+ "name": "attributeMask",
773
+ "type": "uint8"
774
+ },
775
+ {
776
+ "internalType": "enum IIdentityRegistry.Purpose",
777
+ "name": "purpose",
778
+ "type": "uint8"
779
+ }
780
+ ],
781
+ "name": "grantAttributeAccess",
782
+ "outputs": [],
783
+ "stateMutability": "nonpayable",
784
+ "type": "function"
785
+ },
523
786
  {
524
787
  "inputs": [
525
788
  {
@@ -544,6 +807,19 @@
544
807
  "stateMutability": "nonpayable",
545
808
  "type": "function"
546
809
  },
810
+ {
811
+ "inputs": [
812
+ {
813
+ "internalType": "address",
814
+ "name": "initialOwner",
815
+ "type": "address"
816
+ }
817
+ ],
818
+ "name": "initialize",
819
+ "outputs": [],
820
+ "stateMutability": "nonpayable",
821
+ "type": "function"
822
+ },
547
823
  {
548
824
  "inputs": [
549
825
  {
@@ -606,6 +882,19 @@
606
882
  "stateMutability": "nonpayable",
607
883
  "type": "function"
608
884
  },
885
+ {
886
+ "inputs": [],
887
+ "name": "latestAttestationId",
888
+ "outputs": [
889
+ {
890
+ "internalType": "uint256",
891
+ "name": "",
892
+ "type": "uint256"
893
+ }
894
+ ],
895
+ "stateMutability": "view",
896
+ "type": "function"
897
+ },
609
898
  {
610
899
  "inputs": [
611
900
  {
@@ -614,11 +903,11 @@
614
903
  "type": "address"
615
904
  }
616
905
  ],
617
- "name": "latestAttestationId",
906
+ "name": "nonces",
618
907
  "outputs": [
619
908
  {
620
909
  "internalType": "uint256",
621
- "name": "attestationId",
910
+ "name": "nonce",
622
911
  "type": "uint256"
623
912
  }
624
913
  ],
@@ -651,6 +940,57 @@
651
940
  "stateMutability": "view",
652
941
  "type": "function"
653
942
  },
943
+ {
944
+ "inputs": [
945
+ {
946
+ "internalType": "address",
947
+ "name": "user",
948
+ "type": "address"
949
+ }
950
+ ],
951
+ "name": "policyVersions",
952
+ "outputs": [
953
+ {
954
+ "internalType": "uint32",
955
+ "name": "version",
956
+ "type": "uint32"
957
+ }
958
+ ],
959
+ "stateMutability": "view",
960
+ "type": "function"
961
+ },
962
+ {
963
+ "inputs": [
964
+ {
965
+ "internalType": "address",
966
+ "name": "user",
967
+ "type": "address"
968
+ }
969
+ ],
970
+ "name": "proofSetHashes",
971
+ "outputs": [
972
+ {
973
+ "internalType": "bytes32",
974
+ "name": "hash",
975
+ "type": "bytes32"
976
+ }
977
+ ],
978
+ "stateMutability": "view",
979
+ "type": "function"
980
+ },
981
+ {
982
+ "inputs": [],
983
+ "name": "proxiableUUID",
984
+ "outputs": [
985
+ {
986
+ "internalType": "bytes32",
987
+ "name": "",
988
+ "type": "bytes32"
989
+ }
990
+ ],
991
+ "stateMutability": "view",
992
+ "type": "function"
993
+ },
654
994
  {
655
995
  "inputs": [
656
996
  {
@@ -670,15 +1010,29 @@
670
1010
  "stateMutability": "view",
671
1011
  "type": "function"
672
1012
  },
1013
+ {
1014
+ "inputs": [],
1015
+ "name": "renounceOwnership",
1016
+ "outputs": [],
1017
+ "stateMutability": "nonpayable",
1018
+ "type": "function"
1019
+ },
1020
+ {
1021
+ "inputs": [],
1022
+ "name": "revokeIdentity",
1023
+ "outputs": [],
1024
+ "stateMutability": "nonpayable",
1025
+ "type": "function"
1026
+ },
673
1027
  {
674
1028
  "inputs": [
675
1029
  {
676
1030
  "internalType": "address",
677
- "name": "registrar",
1031
+ "name": "user",
678
1032
  "type": "address"
679
1033
  }
680
1034
  ],
681
- "name": "removeRegistrar",
1035
+ "name": "revokeIdentityFor",
682
1036
  "outputs": [],
683
1037
  "stateMutability": "nonpayable",
684
1038
  "type": "function"
@@ -687,11 +1041,16 @@
687
1041
  "inputs": [
688
1042
  {
689
1043
  "internalType": "address",
690
- "name": "user",
1044
+ "name": "registrar",
691
1045
  "type": "address"
1046
+ },
1047
+ {
1048
+ "internalType": "bool",
1049
+ "name": "status",
1050
+ "type": "bool"
692
1051
  }
693
1052
  ],
694
- "name": "revokeIdentity",
1053
+ "name": "setRegistrar",
695
1054
  "outputs": [],
696
1055
  "stateMutability": "nonpayable",
697
1056
  "type": "function"
@@ -708,5 +1067,23 @@
708
1067
  "outputs": [],
709
1068
  "stateMutability": "nonpayable",
710
1069
  "type": "function"
1070
+ },
1071
+ {
1072
+ "inputs": [
1073
+ {
1074
+ "internalType": "address",
1075
+ "name": "newImplementation",
1076
+ "type": "address"
1077
+ },
1078
+ {
1079
+ "internalType": "bytes",
1080
+ "name": "data",
1081
+ "type": "bytes"
1082
+ }
1083
+ ],
1084
+ "name": "upgradeToAndCall",
1085
+ "outputs": [],
1086
+ "stateMutability": "payable",
1087
+ "type": "function"
711
1088
  }
712
1089
  ]