@zentity/fhevm-contracts 0.1.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 (83) hide show
  1. package/README.md +160 -0
  2. package/abi/ComplianceRules.json +352 -0
  3. package/abi/CompliantERC20.json +493 -0
  4. package/abi/IdentityRegistry.json +712 -0
  5. package/abi/index.d.ts +3 -0
  6. package/abi/index.js +9 -0
  7. package/contracts/ARCHITECTURE.md +66 -0
  8. package/contracts/ARCHITECTURE_EXPLAINER.md +77 -0
  9. package/contracts/compliance/ComplianceRules.sol +255 -0
  10. package/contracts/core/IdentityRegistry.sol +352 -0
  11. package/contracts/interfaces/IIdentityRegistry.sol +226 -0
  12. package/contracts/mocks/.gitkeep +0 -0
  13. package/contracts/tokens/CompliantERC20.sol +379 -0
  14. package/deployments/hardhat/addresses.json +20 -0
  15. package/deployments/localhost/.chainId +1 -0
  16. package/deployments/localhost/ComplianceRules.json +662 -0
  17. package/deployments/localhost/CompliantERC20.json +888 -0
  18. package/deployments/localhost/IdentityRegistry.json +1093 -0
  19. package/deployments/localhost/solcInputs/e36969353329df673b4fae03d39e01c4.json +60 -0
  20. package/deployments/sepolia/.chainId +1 -0
  21. package/deployments/sepolia/.gitkeep +0 -0
  22. package/deployments/sepolia/ComplianceRules.json +662 -0
  23. package/deployments/sepolia/CompliantERC20.json +888 -0
  24. package/deployments/sepolia/IdentityRegistry.json +1093 -0
  25. package/deployments/sepolia/solcInputs/93d280ff0d4e798a18947a9ed6015031.json +60 -0
  26. package/dist/index.d.ts +459 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +135 -0
  29. package/package.json +110 -0
  30. package/typechain-types/@fhevm/index.ts +5 -0
  31. package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/ZamaConfig.ts +69 -0
  32. package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/ZamaEthereumConfig.ts +90 -0
  33. package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/index.ts +5 -0
  34. package/typechain-types/@fhevm/solidity/config/index.ts +5 -0
  35. package/typechain-types/@fhevm/solidity/index.ts +7 -0
  36. package/typechain-types/@fhevm/solidity/lib/FHE.sol/FHE.ts +112 -0
  37. package/typechain-types/@fhevm/solidity/lib/FHE.sol/IKMSVerifier.ts +108 -0
  38. package/typechain-types/@fhevm/solidity/lib/FHE.sol/index.ts +5 -0
  39. package/typechain-types/@fhevm/solidity/lib/Impl.sol/IACL.ts +190 -0
  40. package/typechain-types/@fhevm/solidity/lib/Impl.sol/IFHEVMExecutor.ts +623 -0
  41. package/typechain-types/@fhevm/solidity/lib/Impl.sol/IInputVerifier.ts +90 -0
  42. package/typechain-types/@fhevm/solidity/lib/Impl.sol/index.ts +6 -0
  43. package/typechain-types/@fhevm/solidity/lib/index.ts +7 -0
  44. package/typechain-types/common.ts +131 -0
  45. package/typechain-types/contracts/compliance/ComplianceRules.ts +479 -0
  46. package/typechain-types/contracts/compliance/index.ts +4 -0
  47. package/typechain-types/contracts/core/IdentityRegistry.ts +874 -0
  48. package/typechain-types/contracts/core/index.ts +4 -0
  49. package/typechain-types/contracts/index.ts +11 -0
  50. package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +798 -0
  51. package/typechain-types/contracts/interfaces/index.ts +4 -0
  52. package/typechain-types/contracts/tokens/CompliantERC20.sol/CompliantERC20.ts +572 -0
  53. package/typechain-types/contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts +95 -0
  54. package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +5 -0
  55. package/typechain-types/contracts/tokens/index.ts +5 -0
  56. package/typechain-types/factories/@fhevm/index.ts +4 -0
  57. package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/ZamaConfig__factory.ts +69 -0
  58. package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/ZamaEthereumConfig__factory.ts +43 -0
  59. package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/index.ts +5 -0
  60. package/typechain-types/factories/@fhevm/solidity/config/index.ts +4 -0
  61. package/typechain-types/factories/@fhevm/solidity/index.ts +5 -0
  62. package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/FHE__factory.ts +88 -0
  63. package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/IKMSVerifier__factory.ts +54 -0
  64. package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/index.ts +5 -0
  65. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IACL__factory.ts +121 -0
  66. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IFHEVMExecutor__factory.ts +810 -0
  67. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IInputVerifier__factory.ts +32 -0
  68. package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/index.ts +6 -0
  69. package/typechain-types/factories/@fhevm/solidity/lib/index.ts +5 -0
  70. package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +437 -0
  71. package/typechain-types/factories/contracts/compliance/index.ts +4 -0
  72. package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +777 -0
  73. package/typechain-types/factories/contracts/core/index.ts +4 -0
  74. package/typechain-types/factories/contracts/index.ts +7 -0
  75. package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +640 -0
  76. package/typechain-types/factories/contracts/interfaces/index.ts +4 -0
  77. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +581 -0
  78. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +44 -0
  79. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +5 -0
  80. package/typechain-types/factories/contracts/tokens/index.ts +4 -0
  81. package/typechain-types/factories/index.ts +5 -0
  82. package/typechain-types/hardhat.d.ts +261 -0
  83. package/typechain-types/index.ts +32 -0
@@ -0,0 +1,874 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumberish,
7
+ BytesLike,
8
+ FunctionFragment,
9
+ Result,
10
+ Interface,
11
+ EventFragment,
12
+ AddressLike,
13
+ ContractRunner,
14
+ ContractMethod,
15
+ Listener,
16
+ } from "ethers";
17
+ import type {
18
+ TypedContractEvent,
19
+ TypedDeferredTopicFilter,
20
+ TypedEventLog,
21
+ TypedLogDescription,
22
+ TypedListener,
23
+ TypedContractMethod,
24
+ } from "../../common";
25
+
26
+ export interface IdentityRegistryInterface extends Interface {
27
+ getFunction(
28
+ nameOrSignature:
29
+ | "acceptOwnership"
30
+ | "addRegistrar"
31
+ | "attestIdentity"
32
+ | "attestationTimestamp"
33
+ | "confidentialProtocolId"
34
+ | "currentAttestationId"
35
+ | "getAttestationMetadata"
36
+ | "getBirthYearOffset"
37
+ | "getBlacklistResult"
38
+ | "getBlacklistStatus"
39
+ | "getCountryCode"
40
+ | "getCountryResult"
41
+ | "getKycLevel"
42
+ | "getKycLevelResult"
43
+ | "grantAccessTo"
44
+ | "hasMinKycLevel"
45
+ | "isAttested"
46
+ | "isFromCountry"
47
+ | "isNotBlacklisted"
48
+ | "latestAttestationId"
49
+ | "owner"
50
+ | "pendingOwner"
51
+ | "registrars"
52
+ | "removeRegistrar"
53
+ | "revokeIdentity"
54
+ | "transferOwnership"
55
+ ): FunctionFragment;
56
+
57
+ getEvent(
58
+ nameOrSignatureOrTopic:
59
+ | "AccessGranted"
60
+ | "IdentityAttested"
61
+ | "IdentityAttestedDetailed"
62
+ | "IdentityRevoked"
63
+ | "IdentityRevokedDetailed"
64
+ | "OwnershipTransferStarted"
65
+ | "OwnershipTransferred"
66
+ | "RegistrarAdded"
67
+ | "RegistrarRemoved"
68
+ ): EventFragment;
69
+
70
+ encodeFunctionData(
71
+ functionFragment: "acceptOwnership",
72
+ values?: undefined
73
+ ): string;
74
+ encodeFunctionData(
75
+ functionFragment: "addRegistrar",
76
+ values: [AddressLike]
77
+ ): string;
78
+ encodeFunctionData(
79
+ functionFragment: "attestIdentity",
80
+ values: [AddressLike, BytesLike, BytesLike, BytesLike, BytesLike, BytesLike]
81
+ ): string;
82
+ encodeFunctionData(
83
+ functionFragment: "attestationTimestamp",
84
+ values: [AddressLike]
85
+ ): string;
86
+ encodeFunctionData(
87
+ functionFragment: "confidentialProtocolId",
88
+ values?: undefined
89
+ ): string;
90
+ encodeFunctionData(
91
+ functionFragment: "currentAttestationId",
92
+ values: [AddressLike]
93
+ ): string;
94
+ encodeFunctionData(
95
+ functionFragment: "getAttestationMetadata",
96
+ values: [AddressLike, BigNumberish]
97
+ ): string;
98
+ encodeFunctionData(
99
+ functionFragment: "getBirthYearOffset",
100
+ values: [AddressLike]
101
+ ): string;
102
+ encodeFunctionData(
103
+ functionFragment: "getBlacklistResult",
104
+ values: [AddressLike]
105
+ ): string;
106
+ encodeFunctionData(
107
+ functionFragment: "getBlacklistStatus",
108
+ values: [AddressLike]
109
+ ): string;
110
+ encodeFunctionData(
111
+ functionFragment: "getCountryCode",
112
+ values: [AddressLike]
113
+ ): string;
114
+ encodeFunctionData(
115
+ functionFragment: "getCountryResult",
116
+ values: [AddressLike, BigNumberish]
117
+ ): string;
118
+ encodeFunctionData(
119
+ functionFragment: "getKycLevel",
120
+ values: [AddressLike]
121
+ ): string;
122
+ encodeFunctionData(
123
+ functionFragment: "getKycLevelResult",
124
+ values: [AddressLike, BigNumberish]
125
+ ): string;
126
+ encodeFunctionData(
127
+ functionFragment: "grantAccessTo",
128
+ values: [AddressLike]
129
+ ): string;
130
+ encodeFunctionData(
131
+ functionFragment: "hasMinKycLevel",
132
+ values: [AddressLike, BigNumberish]
133
+ ): string;
134
+ encodeFunctionData(
135
+ functionFragment: "isAttested",
136
+ values: [AddressLike]
137
+ ): string;
138
+ encodeFunctionData(
139
+ functionFragment: "isFromCountry",
140
+ values: [AddressLike, BigNumberish]
141
+ ): string;
142
+ encodeFunctionData(
143
+ functionFragment: "isNotBlacklisted",
144
+ values: [AddressLike]
145
+ ): string;
146
+ encodeFunctionData(
147
+ functionFragment: "latestAttestationId",
148
+ values: [AddressLike]
149
+ ): string;
150
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
151
+ encodeFunctionData(
152
+ functionFragment: "pendingOwner",
153
+ values?: undefined
154
+ ): string;
155
+ encodeFunctionData(
156
+ functionFragment: "registrars",
157
+ values: [AddressLike]
158
+ ): string;
159
+ encodeFunctionData(
160
+ functionFragment: "removeRegistrar",
161
+ values: [AddressLike]
162
+ ): string;
163
+ encodeFunctionData(
164
+ functionFragment: "revokeIdentity",
165
+ values: [AddressLike]
166
+ ): string;
167
+ encodeFunctionData(
168
+ functionFragment: "transferOwnership",
169
+ values: [AddressLike]
170
+ ): string;
171
+
172
+ decodeFunctionResult(
173
+ functionFragment: "acceptOwnership",
174
+ data: BytesLike
175
+ ): Result;
176
+ decodeFunctionResult(
177
+ functionFragment: "addRegistrar",
178
+ data: BytesLike
179
+ ): Result;
180
+ decodeFunctionResult(
181
+ functionFragment: "attestIdentity",
182
+ data: BytesLike
183
+ ): Result;
184
+ decodeFunctionResult(
185
+ functionFragment: "attestationTimestamp",
186
+ data: BytesLike
187
+ ): Result;
188
+ decodeFunctionResult(
189
+ functionFragment: "confidentialProtocolId",
190
+ data: BytesLike
191
+ ): Result;
192
+ decodeFunctionResult(
193
+ functionFragment: "currentAttestationId",
194
+ data: BytesLike
195
+ ): Result;
196
+ decodeFunctionResult(
197
+ functionFragment: "getAttestationMetadata",
198
+ data: BytesLike
199
+ ): Result;
200
+ decodeFunctionResult(
201
+ functionFragment: "getBirthYearOffset",
202
+ data: BytesLike
203
+ ): Result;
204
+ decodeFunctionResult(
205
+ functionFragment: "getBlacklistResult",
206
+ data: BytesLike
207
+ ): Result;
208
+ decodeFunctionResult(
209
+ functionFragment: "getBlacklistStatus",
210
+ data: BytesLike
211
+ ): Result;
212
+ decodeFunctionResult(
213
+ functionFragment: "getCountryCode",
214
+ data: BytesLike
215
+ ): Result;
216
+ decodeFunctionResult(
217
+ functionFragment: "getCountryResult",
218
+ data: BytesLike
219
+ ): Result;
220
+ decodeFunctionResult(
221
+ functionFragment: "getKycLevel",
222
+ data: BytesLike
223
+ ): Result;
224
+ decodeFunctionResult(
225
+ functionFragment: "getKycLevelResult",
226
+ data: BytesLike
227
+ ): Result;
228
+ decodeFunctionResult(
229
+ functionFragment: "grantAccessTo",
230
+ data: BytesLike
231
+ ): Result;
232
+ decodeFunctionResult(
233
+ functionFragment: "hasMinKycLevel",
234
+ data: BytesLike
235
+ ): Result;
236
+ decodeFunctionResult(functionFragment: "isAttested", data: BytesLike): Result;
237
+ decodeFunctionResult(
238
+ functionFragment: "isFromCountry",
239
+ data: BytesLike
240
+ ): Result;
241
+ decodeFunctionResult(
242
+ functionFragment: "isNotBlacklisted",
243
+ data: BytesLike
244
+ ): Result;
245
+ decodeFunctionResult(
246
+ functionFragment: "latestAttestationId",
247
+ data: BytesLike
248
+ ): Result;
249
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
250
+ decodeFunctionResult(
251
+ functionFragment: "pendingOwner",
252
+ data: BytesLike
253
+ ): Result;
254
+ decodeFunctionResult(functionFragment: "registrars", data: BytesLike): Result;
255
+ decodeFunctionResult(
256
+ functionFragment: "removeRegistrar",
257
+ data: BytesLike
258
+ ): Result;
259
+ decodeFunctionResult(
260
+ functionFragment: "revokeIdentity",
261
+ data: BytesLike
262
+ ): Result;
263
+ decodeFunctionResult(
264
+ functionFragment: "transferOwnership",
265
+ data: BytesLike
266
+ ): Result;
267
+ }
268
+
269
+ export namespace AccessGrantedEvent {
270
+ export type InputTuple = [user: AddressLike, grantee: AddressLike];
271
+ export type OutputTuple = [user: string, grantee: string];
272
+ export interface OutputObject {
273
+ user: string;
274
+ grantee: string;
275
+ }
276
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
277
+ export type Filter = TypedDeferredTopicFilter<Event>;
278
+ export type Log = TypedEventLog<Event>;
279
+ export type LogDescription = TypedLogDescription<Event>;
280
+ }
281
+
282
+ export namespace IdentityAttestedEvent {
283
+ export type InputTuple = [user: AddressLike, registrar: AddressLike];
284
+ export type OutputTuple = [user: string, registrar: string];
285
+ export interface OutputObject {
286
+ user: string;
287
+ registrar: string;
288
+ }
289
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
290
+ export type Filter = TypedDeferredTopicFilter<Event>;
291
+ export type Log = TypedEventLog<Event>;
292
+ export type LogDescription = TypedLogDescription<Event>;
293
+ }
294
+
295
+ export namespace IdentityAttestedDetailedEvent {
296
+ export type InputTuple = [
297
+ user: AddressLike,
298
+ registrar: AddressLike,
299
+ attestationId: BigNumberish,
300
+ timestamp: BigNumberish
301
+ ];
302
+ export type OutputTuple = [
303
+ user: string,
304
+ registrar: string,
305
+ attestationId: bigint,
306
+ timestamp: bigint
307
+ ];
308
+ export interface OutputObject {
309
+ user: string;
310
+ registrar: string;
311
+ attestationId: bigint;
312
+ timestamp: bigint;
313
+ }
314
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
315
+ export type Filter = TypedDeferredTopicFilter<Event>;
316
+ export type Log = TypedEventLog<Event>;
317
+ export type LogDescription = TypedLogDescription<Event>;
318
+ }
319
+
320
+ export namespace IdentityRevokedEvent {
321
+ export type InputTuple = [user: AddressLike];
322
+ export type OutputTuple = [user: string];
323
+ export interface OutputObject {
324
+ user: string;
325
+ }
326
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
327
+ export type Filter = TypedDeferredTopicFilter<Event>;
328
+ export type Log = TypedEventLog<Event>;
329
+ export type LogDescription = TypedLogDescription<Event>;
330
+ }
331
+
332
+ export namespace IdentityRevokedDetailedEvent {
333
+ export type InputTuple = [
334
+ user: AddressLike,
335
+ registrar: AddressLike,
336
+ attestationId: BigNumberish,
337
+ timestamp: BigNumberish
338
+ ];
339
+ export type OutputTuple = [
340
+ user: string,
341
+ registrar: string,
342
+ attestationId: bigint,
343
+ timestamp: bigint
344
+ ];
345
+ export interface OutputObject {
346
+ user: string;
347
+ registrar: string;
348
+ attestationId: bigint;
349
+ timestamp: bigint;
350
+ }
351
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
352
+ export type Filter = TypedDeferredTopicFilter<Event>;
353
+ export type Log = TypedEventLog<Event>;
354
+ export type LogDescription = TypedLogDescription<Event>;
355
+ }
356
+
357
+ export namespace OwnershipTransferStartedEvent {
358
+ export type InputTuple = [
359
+ currentOwner: AddressLike,
360
+ pendingOwner: AddressLike
361
+ ];
362
+ export type OutputTuple = [currentOwner: string, pendingOwner: string];
363
+ export interface OutputObject {
364
+ currentOwner: string;
365
+ pendingOwner: string;
366
+ }
367
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
368
+ export type Filter = TypedDeferredTopicFilter<Event>;
369
+ export type Log = TypedEventLog<Event>;
370
+ export type LogDescription = TypedLogDescription<Event>;
371
+ }
372
+
373
+ export namespace OwnershipTransferredEvent {
374
+ export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
375
+ export type OutputTuple = [previousOwner: string, newOwner: string];
376
+ export interface OutputObject {
377
+ previousOwner: string;
378
+ newOwner: string;
379
+ }
380
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
381
+ export type Filter = TypedDeferredTopicFilter<Event>;
382
+ export type Log = TypedEventLog<Event>;
383
+ export type LogDescription = TypedLogDescription<Event>;
384
+ }
385
+
386
+ export namespace RegistrarAddedEvent {
387
+ export type InputTuple = [registrar: AddressLike];
388
+ export type OutputTuple = [registrar: string];
389
+ export interface OutputObject {
390
+ registrar: string;
391
+ }
392
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
393
+ export type Filter = TypedDeferredTopicFilter<Event>;
394
+ export type Log = TypedEventLog<Event>;
395
+ export type LogDescription = TypedLogDescription<Event>;
396
+ }
397
+
398
+ export namespace RegistrarRemovedEvent {
399
+ export type InputTuple = [registrar: AddressLike];
400
+ export type OutputTuple = [registrar: string];
401
+ export interface OutputObject {
402
+ registrar: string;
403
+ }
404
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
405
+ export type Filter = TypedDeferredTopicFilter<Event>;
406
+ export type Log = TypedEventLog<Event>;
407
+ export type LogDescription = TypedLogDescription<Event>;
408
+ }
409
+
410
+ export interface IdentityRegistry extends BaseContract {
411
+ connect(runner?: ContractRunner | null): IdentityRegistry;
412
+ waitForDeployment(): Promise<this>;
413
+
414
+ interface: IdentityRegistryInterface;
415
+
416
+ queryFilter<TCEvent extends TypedContractEvent>(
417
+ event: TCEvent,
418
+ fromBlockOrBlockhash?: string | number | undefined,
419
+ toBlock?: string | number | undefined
420
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
421
+ queryFilter<TCEvent extends TypedContractEvent>(
422
+ filter: TypedDeferredTopicFilter<TCEvent>,
423
+ fromBlockOrBlockhash?: string | number | undefined,
424
+ toBlock?: string | number | undefined
425
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
426
+
427
+ on<TCEvent extends TypedContractEvent>(
428
+ event: TCEvent,
429
+ listener: TypedListener<TCEvent>
430
+ ): Promise<this>;
431
+ on<TCEvent extends TypedContractEvent>(
432
+ filter: TypedDeferredTopicFilter<TCEvent>,
433
+ listener: TypedListener<TCEvent>
434
+ ): Promise<this>;
435
+
436
+ once<TCEvent extends TypedContractEvent>(
437
+ event: TCEvent,
438
+ listener: TypedListener<TCEvent>
439
+ ): Promise<this>;
440
+ once<TCEvent extends TypedContractEvent>(
441
+ filter: TypedDeferredTopicFilter<TCEvent>,
442
+ listener: TypedListener<TCEvent>
443
+ ): Promise<this>;
444
+
445
+ listeners<TCEvent extends TypedContractEvent>(
446
+ event: TCEvent
447
+ ): Promise<Array<TypedListener<TCEvent>>>;
448
+ listeners(eventName?: string): Promise<Array<Listener>>;
449
+ removeAllListeners<TCEvent extends TypedContractEvent>(
450
+ event?: TCEvent
451
+ ): Promise<this>;
452
+
453
+ acceptOwnership: TypedContractMethod<[], [void], "nonpayable">;
454
+
455
+ addRegistrar: TypedContractMethod<
456
+ [registrar: AddressLike],
457
+ [void],
458
+ "nonpayable"
459
+ >;
460
+
461
+ attestIdentity: TypedContractMethod<
462
+ [
463
+ user: AddressLike,
464
+ encBirthYearOffset: BytesLike,
465
+ encCountryCode: BytesLike,
466
+ encKycLevel: BytesLike,
467
+ encIsBlacklisted: BytesLike,
468
+ inputProof: BytesLike
469
+ ],
470
+ [void],
471
+ "nonpayable"
472
+ >;
473
+
474
+ attestationTimestamp: TypedContractMethod<
475
+ [user: AddressLike],
476
+ [bigint],
477
+ "view"
478
+ >;
479
+
480
+ confidentialProtocolId: TypedContractMethod<[], [bigint], "view">;
481
+
482
+ currentAttestationId: TypedContractMethod<
483
+ [user: AddressLike],
484
+ [bigint],
485
+ "view"
486
+ >;
487
+
488
+ getAttestationMetadata: TypedContractMethod<
489
+ [user: AddressLike, attestationId: BigNumberish],
490
+ [
491
+ [bigint, bigint, string] & {
492
+ timestamp: bigint;
493
+ revokedAt: bigint;
494
+ registrar: string;
495
+ }
496
+ ],
497
+ "view"
498
+ >;
499
+
500
+ getBirthYearOffset: TypedContractMethod<
501
+ [user: AddressLike],
502
+ [string],
503
+ "view"
504
+ >;
505
+
506
+ getBlacklistResult: TypedContractMethod<
507
+ [user: AddressLike],
508
+ [string],
509
+ "view"
510
+ >;
511
+
512
+ getBlacklistStatus: TypedContractMethod<
513
+ [user: AddressLike],
514
+ [string],
515
+ "view"
516
+ >;
517
+
518
+ getCountryCode: TypedContractMethod<[user: AddressLike], [string], "view">;
519
+
520
+ getCountryResult: TypedContractMethod<
521
+ [user: AddressLike, country: BigNumberish],
522
+ [string],
523
+ "view"
524
+ >;
525
+
526
+ getKycLevel: TypedContractMethod<[user: AddressLike], [string], "view">;
527
+
528
+ getKycLevelResult: TypedContractMethod<
529
+ [user: AddressLike, minLevel: BigNumberish],
530
+ [string],
531
+ "view"
532
+ >;
533
+
534
+ grantAccessTo: TypedContractMethod<
535
+ [grantee: AddressLike],
536
+ [void],
537
+ "nonpayable"
538
+ >;
539
+
540
+ hasMinKycLevel: TypedContractMethod<
541
+ [user: AddressLike, minLevel: BigNumberish],
542
+ [string],
543
+ "nonpayable"
544
+ >;
545
+
546
+ isAttested: TypedContractMethod<[user: AddressLike], [boolean], "view">;
547
+
548
+ isFromCountry: TypedContractMethod<
549
+ [user: AddressLike, country: BigNumberish],
550
+ [string],
551
+ "nonpayable"
552
+ >;
553
+
554
+ isNotBlacklisted: TypedContractMethod<
555
+ [user: AddressLike],
556
+ [string],
557
+ "nonpayable"
558
+ >;
559
+
560
+ latestAttestationId: TypedContractMethod<
561
+ [user: AddressLike],
562
+ [bigint],
563
+ "view"
564
+ >;
565
+
566
+ owner: TypedContractMethod<[], [string], "view">;
567
+
568
+ pendingOwner: TypedContractMethod<[], [string], "view">;
569
+
570
+ registrars: TypedContractMethod<[registrar: AddressLike], [boolean], "view">;
571
+
572
+ removeRegistrar: TypedContractMethod<
573
+ [registrar: AddressLike],
574
+ [void],
575
+ "nonpayable"
576
+ >;
577
+
578
+ revokeIdentity: TypedContractMethod<
579
+ [user: AddressLike],
580
+ [void],
581
+ "nonpayable"
582
+ >;
583
+
584
+ transferOwnership: TypedContractMethod<
585
+ [newOwner: AddressLike],
586
+ [void],
587
+ "nonpayable"
588
+ >;
589
+
590
+ getFunction<T extends ContractMethod = ContractMethod>(
591
+ key: string | FunctionFragment
592
+ ): T;
593
+
594
+ getFunction(
595
+ nameOrSignature: "acceptOwnership"
596
+ ): TypedContractMethod<[], [void], "nonpayable">;
597
+ getFunction(
598
+ nameOrSignature: "addRegistrar"
599
+ ): TypedContractMethod<[registrar: AddressLike], [void], "nonpayable">;
600
+ getFunction(
601
+ nameOrSignature: "attestIdentity"
602
+ ): TypedContractMethod<
603
+ [
604
+ user: AddressLike,
605
+ encBirthYearOffset: BytesLike,
606
+ encCountryCode: BytesLike,
607
+ encKycLevel: BytesLike,
608
+ encIsBlacklisted: BytesLike,
609
+ inputProof: BytesLike
610
+ ],
611
+ [void],
612
+ "nonpayable"
613
+ >;
614
+ getFunction(
615
+ nameOrSignature: "attestationTimestamp"
616
+ ): TypedContractMethod<[user: AddressLike], [bigint], "view">;
617
+ getFunction(
618
+ nameOrSignature: "confidentialProtocolId"
619
+ ): TypedContractMethod<[], [bigint], "view">;
620
+ getFunction(
621
+ nameOrSignature: "currentAttestationId"
622
+ ): TypedContractMethod<[user: AddressLike], [bigint], "view">;
623
+ getFunction(
624
+ nameOrSignature: "getAttestationMetadata"
625
+ ): TypedContractMethod<
626
+ [user: AddressLike, attestationId: BigNumberish],
627
+ [
628
+ [bigint, bigint, string] & {
629
+ timestamp: bigint;
630
+ revokedAt: bigint;
631
+ registrar: string;
632
+ }
633
+ ],
634
+ "view"
635
+ >;
636
+ getFunction(
637
+ nameOrSignature: "getBirthYearOffset"
638
+ ): TypedContractMethod<[user: AddressLike], [string], "view">;
639
+ getFunction(
640
+ nameOrSignature: "getBlacklistResult"
641
+ ): TypedContractMethod<[user: AddressLike], [string], "view">;
642
+ getFunction(
643
+ nameOrSignature: "getBlacklistStatus"
644
+ ): TypedContractMethod<[user: AddressLike], [string], "view">;
645
+ getFunction(
646
+ nameOrSignature: "getCountryCode"
647
+ ): TypedContractMethod<[user: AddressLike], [string], "view">;
648
+ getFunction(
649
+ nameOrSignature: "getCountryResult"
650
+ ): TypedContractMethod<
651
+ [user: AddressLike, country: BigNumberish],
652
+ [string],
653
+ "view"
654
+ >;
655
+ getFunction(
656
+ nameOrSignature: "getKycLevel"
657
+ ): TypedContractMethod<[user: AddressLike], [string], "view">;
658
+ getFunction(
659
+ nameOrSignature: "getKycLevelResult"
660
+ ): TypedContractMethod<
661
+ [user: AddressLike, minLevel: BigNumberish],
662
+ [string],
663
+ "view"
664
+ >;
665
+ getFunction(
666
+ nameOrSignature: "grantAccessTo"
667
+ ): TypedContractMethod<[grantee: AddressLike], [void], "nonpayable">;
668
+ getFunction(
669
+ nameOrSignature: "hasMinKycLevel"
670
+ ): TypedContractMethod<
671
+ [user: AddressLike, minLevel: BigNumberish],
672
+ [string],
673
+ "nonpayable"
674
+ >;
675
+ getFunction(
676
+ nameOrSignature: "isAttested"
677
+ ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
678
+ getFunction(
679
+ nameOrSignature: "isFromCountry"
680
+ ): TypedContractMethod<
681
+ [user: AddressLike, country: BigNumberish],
682
+ [string],
683
+ "nonpayable"
684
+ >;
685
+ getFunction(
686
+ nameOrSignature: "isNotBlacklisted"
687
+ ): TypedContractMethod<[user: AddressLike], [string], "nonpayable">;
688
+ getFunction(
689
+ nameOrSignature: "latestAttestationId"
690
+ ): TypedContractMethod<[user: AddressLike], [bigint], "view">;
691
+ getFunction(
692
+ nameOrSignature: "owner"
693
+ ): TypedContractMethod<[], [string], "view">;
694
+ getFunction(
695
+ nameOrSignature: "pendingOwner"
696
+ ): TypedContractMethod<[], [string], "view">;
697
+ getFunction(
698
+ nameOrSignature: "registrars"
699
+ ): TypedContractMethod<[registrar: AddressLike], [boolean], "view">;
700
+ getFunction(
701
+ nameOrSignature: "removeRegistrar"
702
+ ): TypedContractMethod<[registrar: AddressLike], [void], "nonpayable">;
703
+ getFunction(
704
+ nameOrSignature: "revokeIdentity"
705
+ ): TypedContractMethod<[user: AddressLike], [void], "nonpayable">;
706
+ getFunction(
707
+ nameOrSignature: "transferOwnership"
708
+ ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
709
+
710
+ getEvent(
711
+ key: "AccessGranted"
712
+ ): TypedContractEvent<
713
+ AccessGrantedEvent.InputTuple,
714
+ AccessGrantedEvent.OutputTuple,
715
+ AccessGrantedEvent.OutputObject
716
+ >;
717
+ getEvent(
718
+ key: "IdentityAttested"
719
+ ): TypedContractEvent<
720
+ IdentityAttestedEvent.InputTuple,
721
+ IdentityAttestedEvent.OutputTuple,
722
+ IdentityAttestedEvent.OutputObject
723
+ >;
724
+ getEvent(
725
+ key: "IdentityAttestedDetailed"
726
+ ): TypedContractEvent<
727
+ IdentityAttestedDetailedEvent.InputTuple,
728
+ IdentityAttestedDetailedEvent.OutputTuple,
729
+ IdentityAttestedDetailedEvent.OutputObject
730
+ >;
731
+ getEvent(
732
+ key: "IdentityRevoked"
733
+ ): TypedContractEvent<
734
+ IdentityRevokedEvent.InputTuple,
735
+ IdentityRevokedEvent.OutputTuple,
736
+ IdentityRevokedEvent.OutputObject
737
+ >;
738
+ getEvent(
739
+ key: "IdentityRevokedDetailed"
740
+ ): TypedContractEvent<
741
+ IdentityRevokedDetailedEvent.InputTuple,
742
+ IdentityRevokedDetailedEvent.OutputTuple,
743
+ IdentityRevokedDetailedEvent.OutputObject
744
+ >;
745
+ getEvent(
746
+ key: "OwnershipTransferStarted"
747
+ ): TypedContractEvent<
748
+ OwnershipTransferStartedEvent.InputTuple,
749
+ OwnershipTransferStartedEvent.OutputTuple,
750
+ OwnershipTransferStartedEvent.OutputObject
751
+ >;
752
+ getEvent(
753
+ key: "OwnershipTransferred"
754
+ ): TypedContractEvent<
755
+ OwnershipTransferredEvent.InputTuple,
756
+ OwnershipTransferredEvent.OutputTuple,
757
+ OwnershipTransferredEvent.OutputObject
758
+ >;
759
+ getEvent(
760
+ key: "RegistrarAdded"
761
+ ): TypedContractEvent<
762
+ RegistrarAddedEvent.InputTuple,
763
+ RegistrarAddedEvent.OutputTuple,
764
+ RegistrarAddedEvent.OutputObject
765
+ >;
766
+ getEvent(
767
+ key: "RegistrarRemoved"
768
+ ): TypedContractEvent<
769
+ RegistrarRemovedEvent.InputTuple,
770
+ RegistrarRemovedEvent.OutputTuple,
771
+ RegistrarRemovedEvent.OutputObject
772
+ >;
773
+
774
+ filters: {
775
+ "AccessGranted(address,address)": TypedContractEvent<
776
+ AccessGrantedEvent.InputTuple,
777
+ AccessGrantedEvent.OutputTuple,
778
+ AccessGrantedEvent.OutputObject
779
+ >;
780
+ AccessGranted: TypedContractEvent<
781
+ AccessGrantedEvent.InputTuple,
782
+ AccessGrantedEvent.OutputTuple,
783
+ AccessGrantedEvent.OutputObject
784
+ >;
785
+
786
+ "IdentityAttested(address,address)": TypedContractEvent<
787
+ IdentityAttestedEvent.InputTuple,
788
+ IdentityAttestedEvent.OutputTuple,
789
+ IdentityAttestedEvent.OutputObject
790
+ >;
791
+ IdentityAttested: TypedContractEvent<
792
+ IdentityAttestedEvent.InputTuple,
793
+ IdentityAttestedEvent.OutputTuple,
794
+ IdentityAttestedEvent.OutputObject
795
+ >;
796
+
797
+ "IdentityAttestedDetailed(address,address,uint256,uint256)": TypedContractEvent<
798
+ IdentityAttestedDetailedEvent.InputTuple,
799
+ IdentityAttestedDetailedEvent.OutputTuple,
800
+ IdentityAttestedDetailedEvent.OutputObject
801
+ >;
802
+ IdentityAttestedDetailed: TypedContractEvent<
803
+ IdentityAttestedDetailedEvent.InputTuple,
804
+ IdentityAttestedDetailedEvent.OutputTuple,
805
+ IdentityAttestedDetailedEvent.OutputObject
806
+ >;
807
+
808
+ "IdentityRevoked(address)": TypedContractEvent<
809
+ IdentityRevokedEvent.InputTuple,
810
+ IdentityRevokedEvent.OutputTuple,
811
+ IdentityRevokedEvent.OutputObject
812
+ >;
813
+ IdentityRevoked: TypedContractEvent<
814
+ IdentityRevokedEvent.InputTuple,
815
+ IdentityRevokedEvent.OutputTuple,
816
+ IdentityRevokedEvent.OutputObject
817
+ >;
818
+
819
+ "IdentityRevokedDetailed(address,address,uint256,uint256)": TypedContractEvent<
820
+ IdentityRevokedDetailedEvent.InputTuple,
821
+ IdentityRevokedDetailedEvent.OutputTuple,
822
+ IdentityRevokedDetailedEvent.OutputObject
823
+ >;
824
+ IdentityRevokedDetailed: TypedContractEvent<
825
+ IdentityRevokedDetailedEvent.InputTuple,
826
+ IdentityRevokedDetailedEvent.OutputTuple,
827
+ IdentityRevokedDetailedEvent.OutputObject
828
+ >;
829
+
830
+ "OwnershipTransferStarted(address,address)": TypedContractEvent<
831
+ OwnershipTransferStartedEvent.InputTuple,
832
+ OwnershipTransferStartedEvent.OutputTuple,
833
+ OwnershipTransferStartedEvent.OutputObject
834
+ >;
835
+ OwnershipTransferStarted: TypedContractEvent<
836
+ OwnershipTransferStartedEvent.InputTuple,
837
+ OwnershipTransferStartedEvent.OutputTuple,
838
+ OwnershipTransferStartedEvent.OutputObject
839
+ >;
840
+
841
+ "OwnershipTransferred(address,address)": TypedContractEvent<
842
+ OwnershipTransferredEvent.InputTuple,
843
+ OwnershipTransferredEvent.OutputTuple,
844
+ OwnershipTransferredEvent.OutputObject
845
+ >;
846
+ OwnershipTransferred: TypedContractEvent<
847
+ OwnershipTransferredEvent.InputTuple,
848
+ OwnershipTransferredEvent.OutputTuple,
849
+ OwnershipTransferredEvent.OutputObject
850
+ >;
851
+
852
+ "RegistrarAdded(address)": TypedContractEvent<
853
+ RegistrarAddedEvent.InputTuple,
854
+ RegistrarAddedEvent.OutputTuple,
855
+ RegistrarAddedEvent.OutputObject
856
+ >;
857
+ RegistrarAdded: TypedContractEvent<
858
+ RegistrarAddedEvent.InputTuple,
859
+ RegistrarAddedEvent.OutputTuple,
860
+ RegistrarAddedEvent.OutputObject
861
+ >;
862
+
863
+ "RegistrarRemoved(address)": TypedContractEvent<
864
+ RegistrarRemovedEvent.InputTuple,
865
+ RegistrarRemovedEvent.OutputTuple,
866
+ RegistrarRemovedEvent.OutputObject
867
+ >;
868
+ RegistrarRemoved: TypedContractEvent<
869
+ RegistrarRemovedEvent.InputTuple,
870
+ RegistrarRemovedEvent.OutputTuple,
871
+ RegistrarRemovedEvent.OutputObject
872
+ >;
873
+ };
874
+ }