@zentity/fhevm-contracts 0.3.0 → 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 (117) 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/dist/index.d.ts +175 -9
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +44 -1
  15. package/package.json +1 -1
  16. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
  17. package/typechain-types/@openzeppelin/contracts/access/Ownable2Step.ts +217 -0
  18. package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
  19. package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
  20. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
  21. package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
  22. package/typechain-types/{contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts} +12 -17
  23. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  24. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +7 -0
  25. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +105 -0
  26. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
  27. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  28. package/typechain-types/@openzeppelin/contracts/proxy/Proxy.ts +69 -0
  29. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
  30. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  31. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +8 -0
  32. package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
  33. package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
  34. package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
  35. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
  36. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  37. package/typechain-types/@openzeppelin/contracts/utils/index.ts +10 -0
  38. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  39. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  40. package/typechain-types/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +251 -0
  41. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +186 -0
  42. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  43. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  44. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  45. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
  46. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
  47. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  48. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
  49. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +184 -0
  50. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  51. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  52. package/typechain-types/@openzeppelin/index.ts +7 -0
  53. package/typechain-types/contracts/compliance/ComplianceRules.ts +18 -7
  54. package/typechain-types/contracts/core/IdentityRegistry.ts +493 -233
  55. package/typechain-types/contracts/index.ts +2 -0
  56. package/typechain-types/contracts/interfaces/IComplianceRules.ts +290 -0
  57. package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +269 -341
  58. package/typechain-types/contracts/interfaces/index.ts +1 -0
  59. package/typechain-types/contracts/test/MockFacilitator.ts +187 -0
  60. package/typechain-types/contracts/test/index.ts +4 -0
  61. package/typechain-types/contracts/tokens/{CompliantERC20.sol/CompliantERC20.ts → CompliantERC20.ts} +19 -8
  62. package/typechain-types/contracts/tokens/index.ts +1 -2
  63. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.ts +138 -0
  64. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +96 -0
  65. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
  66. package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
  67. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
  68. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
  69. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
  70. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  71. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +6 -0
  72. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +144 -0
  73. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
  74. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  75. package/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +26 -0
  76. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
  77. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  78. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +6 -0
  79. package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
  80. package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
  81. package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
  82. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
  83. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
  84. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +8 -0
  85. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  86. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  87. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +165 -0
  88. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +122 -0
  89. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  90. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  91. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  92. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
  93. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
  94. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  95. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
  96. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +97 -0
  97. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
  98. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  99. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  100. package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +26 -17
  101. package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +493 -116
  102. package/typechain-types/factories/contracts/index.ts +1 -0
  103. package/typechain-types/factories/contracts/interfaces/IComplianceRules__factory.ts +193 -0
  104. package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +236 -186
  105. package/typechain-types/factories/contracts/interfaces/index.ts +1 -0
  106. package/typechain-types/factories/contracts/test/MockFacilitator__factory.ts +194 -0
  107. package/typechain-types/factories/contracts/test/index.ts +4 -0
  108. package/typechain-types/factories/contracts/tokens/CompliantERC20__factory.ts +595 -0
  109. package/typechain-types/factories/contracts/tokens/index.ts +1 -1
  110. package/typechain-types/factories/index.ts +1 -0
  111. package/typechain-types/hardhat.d.ts +394 -16
  112. package/typechain-types/index.ts +48 -4
  113. package/deployments/hardhat/.chainId +0 -1
  114. package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
  115. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +0 -581
  116. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +0 -44
  117. package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
@@ -0,0 +1,184 @@
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
+ ContractRunner,
13
+ ContractMethod,
14
+ Listener,
15
+ } from "ethers";
16
+ import type {
17
+ TypedContractEvent,
18
+ TypedDeferredTopicFilter,
19
+ TypedEventLog,
20
+ TypedLogDescription,
21
+ TypedListener,
22
+ TypedContractMethod,
23
+ } from "../../../../common";
24
+
25
+ export interface EIP712UpgradeableInterface extends Interface {
26
+ getFunction(nameOrSignature: "eip712Domain"): FunctionFragment;
27
+
28
+ getEvent(
29
+ nameOrSignatureOrTopic: "EIP712DomainChanged" | "Initialized"
30
+ ): EventFragment;
31
+
32
+ encodeFunctionData(
33
+ functionFragment: "eip712Domain",
34
+ values?: undefined
35
+ ): string;
36
+
37
+ decodeFunctionResult(
38
+ functionFragment: "eip712Domain",
39
+ data: BytesLike
40
+ ): Result;
41
+ }
42
+
43
+ export namespace EIP712DomainChangedEvent {
44
+ export type InputTuple = [];
45
+ export type OutputTuple = [];
46
+ export interface OutputObject {}
47
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
48
+ export type Filter = TypedDeferredTopicFilter<Event>;
49
+ export type Log = TypedEventLog<Event>;
50
+ export type LogDescription = TypedLogDescription<Event>;
51
+ }
52
+
53
+ export namespace InitializedEvent {
54
+ export type InputTuple = [version: BigNumberish];
55
+ export type OutputTuple = [version: bigint];
56
+ export interface OutputObject {
57
+ version: bigint;
58
+ }
59
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
60
+ export type Filter = TypedDeferredTopicFilter<Event>;
61
+ export type Log = TypedEventLog<Event>;
62
+ export type LogDescription = TypedLogDescription<Event>;
63
+ }
64
+
65
+ export interface EIP712Upgradeable extends BaseContract {
66
+ connect(runner?: ContractRunner | null): EIP712Upgradeable;
67
+ waitForDeployment(): Promise<this>;
68
+
69
+ interface: EIP712UpgradeableInterface;
70
+
71
+ queryFilter<TCEvent extends TypedContractEvent>(
72
+ event: TCEvent,
73
+ fromBlockOrBlockhash?: string | number | undefined,
74
+ toBlock?: string | number | undefined
75
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
76
+ queryFilter<TCEvent extends TypedContractEvent>(
77
+ filter: TypedDeferredTopicFilter<TCEvent>,
78
+ fromBlockOrBlockhash?: string | number | undefined,
79
+ toBlock?: string | number | undefined
80
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
81
+
82
+ on<TCEvent extends TypedContractEvent>(
83
+ event: TCEvent,
84
+ listener: TypedListener<TCEvent>
85
+ ): Promise<this>;
86
+ on<TCEvent extends TypedContractEvent>(
87
+ filter: TypedDeferredTopicFilter<TCEvent>,
88
+ listener: TypedListener<TCEvent>
89
+ ): Promise<this>;
90
+
91
+ once<TCEvent extends TypedContractEvent>(
92
+ event: TCEvent,
93
+ listener: TypedListener<TCEvent>
94
+ ): Promise<this>;
95
+ once<TCEvent extends TypedContractEvent>(
96
+ filter: TypedDeferredTopicFilter<TCEvent>,
97
+ listener: TypedListener<TCEvent>
98
+ ): Promise<this>;
99
+
100
+ listeners<TCEvent extends TypedContractEvent>(
101
+ event: TCEvent
102
+ ): Promise<Array<TypedListener<TCEvent>>>;
103
+ listeners(eventName?: string): Promise<Array<Listener>>;
104
+ removeAllListeners<TCEvent extends TypedContractEvent>(
105
+ event?: TCEvent
106
+ ): Promise<this>;
107
+
108
+ eip712Domain: TypedContractMethod<
109
+ [],
110
+ [
111
+ [string, string, string, bigint, string, string, bigint[]] & {
112
+ fields: string;
113
+ name: string;
114
+ version: string;
115
+ chainId: bigint;
116
+ verifyingContract: string;
117
+ salt: string;
118
+ extensions: bigint[];
119
+ }
120
+ ],
121
+ "view"
122
+ >;
123
+
124
+ getFunction<T extends ContractMethod = ContractMethod>(
125
+ key: string | FunctionFragment
126
+ ): T;
127
+
128
+ getFunction(
129
+ nameOrSignature: "eip712Domain"
130
+ ): TypedContractMethod<
131
+ [],
132
+ [
133
+ [string, string, string, bigint, string, string, bigint[]] & {
134
+ fields: string;
135
+ name: string;
136
+ version: string;
137
+ chainId: bigint;
138
+ verifyingContract: string;
139
+ salt: string;
140
+ extensions: bigint[];
141
+ }
142
+ ],
143
+ "view"
144
+ >;
145
+
146
+ getEvent(
147
+ key: "EIP712DomainChanged"
148
+ ): TypedContractEvent<
149
+ EIP712DomainChangedEvent.InputTuple,
150
+ EIP712DomainChangedEvent.OutputTuple,
151
+ EIP712DomainChangedEvent.OutputObject
152
+ >;
153
+ getEvent(
154
+ key: "Initialized"
155
+ ): TypedContractEvent<
156
+ InitializedEvent.InputTuple,
157
+ InitializedEvent.OutputTuple,
158
+ InitializedEvent.OutputObject
159
+ >;
160
+
161
+ filters: {
162
+ "EIP712DomainChanged()": TypedContractEvent<
163
+ EIP712DomainChangedEvent.InputTuple,
164
+ EIP712DomainChangedEvent.OutputTuple,
165
+ EIP712DomainChangedEvent.OutputObject
166
+ >;
167
+ EIP712DomainChanged: TypedContractEvent<
168
+ EIP712DomainChangedEvent.InputTuple,
169
+ EIP712DomainChangedEvent.OutputTuple,
170
+ EIP712DomainChangedEvent.OutputObject
171
+ >;
172
+
173
+ "Initialized(uint64)": TypedContractEvent<
174
+ InitializedEvent.InputTuple,
175
+ InitializedEvent.OutputTuple,
176
+ InitializedEvent.OutputObject
177
+ >;
178
+ Initialized: TypedContractEvent<
179
+ InitializedEvent.InputTuple,
180
+ InitializedEvent.OutputTuple,
181
+ InitializedEvent.OutputObject
182
+ >;
183
+ };
184
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export type { EIP712Upgradeable } from "./EIP712Upgradeable";
@@ -0,0 +1,6 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type * as cryptography from "./cryptography";
5
+ export type { cryptography };
6
+ export type { ContextUpgradeable } from "./ContextUpgradeable";
@@ -0,0 +1,7 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type * as contracts from "./contracts";
5
+ export type { contracts };
6
+ import type * as contractsUpgradeable from "./contracts-upgradeable";
7
+ export type { contractsUpgradeable };
@@ -37,6 +37,7 @@ export interface ComplianceRulesInterface extends Interface {
37
37
  | "minComplianceLevel"
38
38
  | "owner"
39
39
  | "pendingOwner"
40
+ | "renounceOwnership"
40
41
  | "setAuthorizedCaller"
41
42
  | "setMinComplianceLevel"
42
43
  | "transferOwnership"
@@ -92,6 +93,10 @@ export interface ComplianceRulesInterface extends Interface {
92
93
  functionFragment: "pendingOwner",
93
94
  values?: undefined
94
95
  ): string;
96
+ encodeFunctionData(
97
+ functionFragment: "renounceOwnership",
98
+ values?: undefined
99
+ ): string;
95
100
  encodeFunctionData(
96
101
  functionFragment: "setAuthorizedCaller",
97
102
  values: [AddressLike, boolean]
@@ -146,6 +151,10 @@ export interface ComplianceRulesInterface extends Interface {
146
151
  functionFragment: "pendingOwner",
147
152
  data: BytesLike
148
153
  ): Result;
154
+ decodeFunctionResult(
155
+ functionFragment: "renounceOwnership",
156
+ data: BytesLike
157
+ ): Result;
149
158
  decodeFunctionResult(
150
159
  functionFragment: "setAuthorizedCaller",
151
160
  data: BytesLike
@@ -198,14 +207,11 @@ export namespace MinComplianceLevelUpdatedEvent {
198
207
  }
199
208
 
200
209
  export namespace OwnershipTransferStartedEvent {
201
- export type InputTuple = [
202
- currentOwner: AddressLike,
203
- pendingOwner: AddressLike
204
- ];
205
- export type OutputTuple = [currentOwner: string, pendingOwner: string];
210
+ export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
211
+ export type OutputTuple = [previousOwner: string, newOwner: string];
206
212
  export interface OutputObject {
207
- currentOwner: string;
208
- pendingOwner: string;
213
+ previousOwner: string;
214
+ newOwner: string;
209
215
  }
210
216
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
211
217
  export type Filter = TypedDeferredTopicFilter<Event>;
@@ -311,6 +317,8 @@ export interface ComplianceRules extends BaseContract {
311
317
 
312
318
  pendingOwner: TypedContractMethod<[], [string], "view">;
313
319
 
320
+ renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
321
+
314
322
  setAuthorizedCaller: TypedContractMethod<
315
323
  [caller: AddressLike, allowed: boolean],
316
324
  [void],
@@ -370,6 +378,9 @@ export interface ComplianceRules extends BaseContract {
370
378
  getFunction(
371
379
  nameOrSignature: "pendingOwner"
372
380
  ): TypedContractMethod<[], [string], "view">;
381
+ getFunction(
382
+ nameOrSignature: "renounceOwnership"
383
+ ): TypedContractMethod<[], [void], "nonpayable">;
373
384
  getFunction(
374
385
  nameOrSignature: "setAuthorizedCaller"
375
386
  ): TypedContractMethod<