@zentity/fhevm-contracts 0.3.0 → 0.4.1

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 (123) 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/ComplianceRules.json +91 -207
  13. package/deployments/sepolia/CompliantERC20.json +114 -293
  14. package/deployments/sepolia/IdentityRegistry.json +498 -742
  15. package/deployments/sepolia/IdentityRegistry_Implementation.json +1698 -0
  16. package/deployments/sepolia/IdentityRegistry_Proxy.json +192 -0
  17. package/deployments/sepolia/addresses.json +5 -6
  18. package/dist/index.d.ts +175 -9
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +44 -1
  21. package/package.json +1 -1
  22. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
  23. package/typechain-types/@openzeppelin/contracts/access/Ownable2Step.ts +217 -0
  24. package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
  25. package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
  26. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
  27. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  28. package/typechain-types/{contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts} +12 -17
  29. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  30. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +7 -0
  31. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +105 -0
  32. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
  33. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  34. package/typechain-types/@openzeppelin/contracts/proxy/Proxy.ts +69 -0
  35. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
  36. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  37. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +8 -0
  38. package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
  39. package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
  40. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  41. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  42. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  43. package/typechain-types/@openzeppelin/contracts/utils/index.ts +10 -0
  44. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  45. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  46. package/typechain-types/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +251 -0
  47. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +186 -0
  48. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  49. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  50. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  51. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
  52. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
  53. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  54. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
  55. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +184 -0
  56. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  57. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  58. package/typechain-types/@openzeppelin/index.ts +7 -0
  59. package/typechain-types/contracts/compliance/ComplianceRules.ts +18 -7
  60. package/typechain-types/contracts/core/IdentityRegistry.ts +493 -233
  61. package/typechain-types/contracts/index.ts +2 -0
  62. package/typechain-types/contracts/interfaces/IComplianceRules.ts +290 -0
  63. package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +269 -341
  64. package/typechain-types/contracts/interfaces/index.ts +1 -0
  65. package/typechain-types/contracts/test/MockFacilitator.ts +187 -0
  66. package/typechain-types/contracts/test/index.ts +4 -0
  67. package/typechain-types/contracts/tokens/{CompliantERC20.sol/CompliantERC20.ts → CompliantERC20.ts} +19 -8
  68. package/typechain-types/contracts/tokens/index.ts +1 -2
  69. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.ts +138 -0
  70. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +96 -0
  71. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
  72. package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
  73. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
  74. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  75. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
  76. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  77. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +6 -0
  78. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +144 -0
  79. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
  80. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  81. package/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +26 -0
  82. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
  83. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  84. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +6 -0
  85. package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
  86. package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
  87. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  88. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  89. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  90. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +8 -0
  91. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  92. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  93. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +165 -0
  94. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +122 -0
  95. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  96. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  97. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  98. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
  99. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
  100. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  101. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
  102. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +97 -0
  103. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  104. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  105. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  106. package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +26 -17
  107. package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +493 -116
  108. package/typechain-types/factories/contracts/index.ts +1 -0
  109. package/typechain-types/factories/contracts/interfaces/IComplianceRules__factory.ts +193 -0
  110. package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +236 -186
  111. package/typechain-types/factories/contracts/interfaces/index.ts +1 -0
  112. package/typechain-types/factories/contracts/test/MockFacilitator__factory.ts +194 -0
  113. package/typechain-types/factories/contracts/test/index.ts +4 -0
  114. package/typechain-types/factories/contracts/tokens/CompliantERC20__factory.ts +595 -0
  115. package/typechain-types/factories/contracts/tokens/index.ts +1 -1
  116. package/typechain-types/factories/index.ts +1 -0
  117. package/typechain-types/hardhat.d.ts +394 -16
  118. package/typechain-types/index.ts +48 -4
  119. package/deployments/hardhat/.chainId +0 -1
  120. package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
  121. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +0 -581
  122. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +0 -44
  123. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
@@ -7,5 +7,7 @@ import type * as core from "./core";
7
7
  export type { core };
8
8
  import type * as interfaces from "./interfaces";
9
9
  export type { interfaces };
10
+ import type * as test from "./test";
11
+ export type { test };
10
12
  import type * as tokens from "./tokens";
11
13
  export type { tokens };
@@ -0,0 +1,290 @@
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 IComplianceRulesInterface extends Interface {
27
+ getFunction(
28
+ nameOrSignature:
29
+ | "authorizedCallers"
30
+ | "checkCompliance"
31
+ | "checkComplianceWithCountry"
32
+ | "getComplianceResult"
33
+ | "hasComplianceResult"
34
+ | "minComplianceLevel"
35
+ ): FunctionFragment;
36
+
37
+ getEvent(
38
+ nameOrSignatureOrTopic:
39
+ | "AuthorizedCallerUpdated"
40
+ | "ComplianceChecked"
41
+ | "MinComplianceLevelUpdated"
42
+ ): EventFragment;
43
+
44
+ encodeFunctionData(
45
+ functionFragment: "authorizedCallers",
46
+ values: [AddressLike]
47
+ ): string;
48
+ encodeFunctionData(
49
+ functionFragment: "checkCompliance",
50
+ values: [AddressLike]
51
+ ): string;
52
+ encodeFunctionData(
53
+ functionFragment: "checkComplianceWithCountry",
54
+ values: [AddressLike, BigNumberish]
55
+ ): string;
56
+ encodeFunctionData(
57
+ functionFragment: "getComplianceResult",
58
+ values: [AddressLike]
59
+ ): string;
60
+ encodeFunctionData(
61
+ functionFragment: "hasComplianceResult",
62
+ values: [AddressLike]
63
+ ): string;
64
+ encodeFunctionData(
65
+ functionFragment: "minComplianceLevel",
66
+ values?: undefined
67
+ ): string;
68
+
69
+ decodeFunctionResult(
70
+ functionFragment: "authorizedCallers",
71
+ data: BytesLike
72
+ ): Result;
73
+ decodeFunctionResult(
74
+ functionFragment: "checkCompliance",
75
+ data: BytesLike
76
+ ): Result;
77
+ decodeFunctionResult(
78
+ functionFragment: "checkComplianceWithCountry",
79
+ data: BytesLike
80
+ ): Result;
81
+ decodeFunctionResult(
82
+ functionFragment: "getComplianceResult",
83
+ data: BytesLike
84
+ ): Result;
85
+ decodeFunctionResult(
86
+ functionFragment: "hasComplianceResult",
87
+ data: BytesLike
88
+ ): Result;
89
+ decodeFunctionResult(
90
+ functionFragment: "minComplianceLevel",
91
+ data: BytesLike
92
+ ): Result;
93
+ }
94
+
95
+ export namespace AuthorizedCallerUpdatedEvent {
96
+ export type InputTuple = [caller: AddressLike, allowed: boolean];
97
+ export type OutputTuple = [caller: string, allowed: boolean];
98
+ export interface OutputObject {
99
+ caller: string;
100
+ allowed: boolean;
101
+ }
102
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
103
+ export type Filter = TypedDeferredTopicFilter<Event>;
104
+ export type Log = TypedEventLog<Event>;
105
+ export type LogDescription = TypedLogDescription<Event>;
106
+ }
107
+
108
+ export namespace ComplianceCheckedEvent {
109
+ export type InputTuple = [user: AddressLike];
110
+ export type OutputTuple = [user: string];
111
+ export interface OutputObject {
112
+ user: string;
113
+ }
114
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
115
+ export type Filter = TypedDeferredTopicFilter<Event>;
116
+ export type Log = TypedEventLog<Event>;
117
+ export type LogDescription = TypedLogDescription<Event>;
118
+ }
119
+
120
+ export namespace MinComplianceLevelUpdatedEvent {
121
+ export type InputTuple = [newLevel: BigNumberish];
122
+ export type OutputTuple = [newLevel: bigint];
123
+ export interface OutputObject {
124
+ newLevel: bigint;
125
+ }
126
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
127
+ export type Filter = TypedDeferredTopicFilter<Event>;
128
+ export type Log = TypedEventLog<Event>;
129
+ export type LogDescription = TypedLogDescription<Event>;
130
+ }
131
+
132
+ export interface IComplianceRules extends BaseContract {
133
+ connect(runner?: ContractRunner | null): IComplianceRules;
134
+ waitForDeployment(): Promise<this>;
135
+
136
+ interface: IComplianceRulesInterface;
137
+
138
+ queryFilter<TCEvent extends TypedContractEvent>(
139
+ event: TCEvent,
140
+ fromBlockOrBlockhash?: string | number | undefined,
141
+ toBlock?: string | number | undefined
142
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
143
+ queryFilter<TCEvent extends TypedContractEvent>(
144
+ filter: TypedDeferredTopicFilter<TCEvent>,
145
+ fromBlockOrBlockhash?: string | number | undefined,
146
+ toBlock?: string | number | undefined
147
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
148
+
149
+ on<TCEvent extends TypedContractEvent>(
150
+ event: TCEvent,
151
+ listener: TypedListener<TCEvent>
152
+ ): Promise<this>;
153
+ on<TCEvent extends TypedContractEvent>(
154
+ filter: TypedDeferredTopicFilter<TCEvent>,
155
+ listener: TypedListener<TCEvent>
156
+ ): Promise<this>;
157
+
158
+ once<TCEvent extends TypedContractEvent>(
159
+ event: TCEvent,
160
+ listener: TypedListener<TCEvent>
161
+ ): Promise<this>;
162
+ once<TCEvent extends TypedContractEvent>(
163
+ filter: TypedDeferredTopicFilter<TCEvent>,
164
+ listener: TypedListener<TCEvent>
165
+ ): Promise<this>;
166
+
167
+ listeners<TCEvent extends TypedContractEvent>(
168
+ event: TCEvent
169
+ ): Promise<Array<TypedListener<TCEvent>>>;
170
+ listeners(eventName?: string): Promise<Array<Listener>>;
171
+ removeAllListeners<TCEvent extends TypedContractEvent>(
172
+ event?: TCEvent
173
+ ): Promise<this>;
174
+
175
+ authorizedCallers: TypedContractMethod<
176
+ [caller: AddressLike],
177
+ [boolean],
178
+ "view"
179
+ >;
180
+
181
+ checkCompliance: TypedContractMethod<
182
+ [user: AddressLike],
183
+ [string],
184
+ "nonpayable"
185
+ >;
186
+
187
+ checkComplianceWithCountry: TypedContractMethod<
188
+ [user: AddressLike, allowedCountry: BigNumberish],
189
+ [string],
190
+ "nonpayable"
191
+ >;
192
+
193
+ getComplianceResult: TypedContractMethod<
194
+ [user: AddressLike],
195
+ [string],
196
+ "view"
197
+ >;
198
+
199
+ hasComplianceResult: TypedContractMethod<
200
+ [user: AddressLike],
201
+ [boolean],
202
+ "view"
203
+ >;
204
+
205
+ minComplianceLevel: TypedContractMethod<[], [bigint], "view">;
206
+
207
+ getFunction<T extends ContractMethod = ContractMethod>(
208
+ key: string | FunctionFragment
209
+ ): T;
210
+
211
+ getFunction(
212
+ nameOrSignature: "authorizedCallers"
213
+ ): TypedContractMethod<[caller: AddressLike], [boolean], "view">;
214
+ getFunction(
215
+ nameOrSignature: "checkCompliance"
216
+ ): TypedContractMethod<[user: AddressLike], [string], "nonpayable">;
217
+ getFunction(
218
+ nameOrSignature: "checkComplianceWithCountry"
219
+ ): TypedContractMethod<
220
+ [user: AddressLike, allowedCountry: BigNumberish],
221
+ [string],
222
+ "nonpayable"
223
+ >;
224
+ getFunction(
225
+ nameOrSignature: "getComplianceResult"
226
+ ): TypedContractMethod<[user: AddressLike], [string], "view">;
227
+ getFunction(
228
+ nameOrSignature: "hasComplianceResult"
229
+ ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
230
+ getFunction(
231
+ nameOrSignature: "minComplianceLevel"
232
+ ): TypedContractMethod<[], [bigint], "view">;
233
+
234
+ getEvent(
235
+ key: "AuthorizedCallerUpdated"
236
+ ): TypedContractEvent<
237
+ AuthorizedCallerUpdatedEvent.InputTuple,
238
+ AuthorizedCallerUpdatedEvent.OutputTuple,
239
+ AuthorizedCallerUpdatedEvent.OutputObject
240
+ >;
241
+ getEvent(
242
+ key: "ComplianceChecked"
243
+ ): TypedContractEvent<
244
+ ComplianceCheckedEvent.InputTuple,
245
+ ComplianceCheckedEvent.OutputTuple,
246
+ ComplianceCheckedEvent.OutputObject
247
+ >;
248
+ getEvent(
249
+ key: "MinComplianceLevelUpdated"
250
+ ): TypedContractEvent<
251
+ MinComplianceLevelUpdatedEvent.InputTuple,
252
+ MinComplianceLevelUpdatedEvent.OutputTuple,
253
+ MinComplianceLevelUpdatedEvent.OutputObject
254
+ >;
255
+
256
+ filters: {
257
+ "AuthorizedCallerUpdated(address,bool)": TypedContractEvent<
258
+ AuthorizedCallerUpdatedEvent.InputTuple,
259
+ AuthorizedCallerUpdatedEvent.OutputTuple,
260
+ AuthorizedCallerUpdatedEvent.OutputObject
261
+ >;
262
+ AuthorizedCallerUpdated: TypedContractEvent<
263
+ AuthorizedCallerUpdatedEvent.InputTuple,
264
+ AuthorizedCallerUpdatedEvent.OutputTuple,
265
+ AuthorizedCallerUpdatedEvent.OutputObject
266
+ >;
267
+
268
+ "ComplianceChecked(address)": TypedContractEvent<
269
+ ComplianceCheckedEvent.InputTuple,
270
+ ComplianceCheckedEvent.OutputTuple,
271
+ ComplianceCheckedEvent.OutputObject
272
+ >;
273
+ ComplianceChecked: TypedContractEvent<
274
+ ComplianceCheckedEvent.InputTuple,
275
+ ComplianceCheckedEvent.OutputTuple,
276
+ ComplianceCheckedEvent.OutputObject
277
+ >;
278
+
279
+ "MinComplianceLevelUpdated(uint8)": TypedContractEvent<
280
+ MinComplianceLevelUpdatedEvent.InputTuple,
281
+ MinComplianceLevelUpdatedEvent.OutputTuple,
282
+ MinComplianceLevelUpdatedEvent.OutputObject
283
+ >;
284
+ MinComplianceLevelUpdated: TypedContractEvent<
285
+ MinComplianceLevelUpdatedEvent.InputTuple,
286
+ MinComplianceLevelUpdatedEvent.OutputTuple,
287
+ MinComplianceLevelUpdatedEvent.OutputObject
288
+ >;
289
+ };
290
+ }