@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.
- package/README.md +160 -0
- package/abi/ComplianceRules.json +352 -0
- package/abi/CompliantERC20.json +493 -0
- package/abi/IdentityRegistry.json +712 -0
- package/abi/index.d.ts +3 -0
- package/abi/index.js +9 -0
- package/contracts/ARCHITECTURE.md +66 -0
- package/contracts/ARCHITECTURE_EXPLAINER.md +77 -0
- package/contracts/compliance/ComplianceRules.sol +255 -0
- package/contracts/core/IdentityRegistry.sol +352 -0
- package/contracts/interfaces/IIdentityRegistry.sol +226 -0
- package/contracts/mocks/.gitkeep +0 -0
- package/contracts/tokens/CompliantERC20.sol +379 -0
- package/deployments/hardhat/addresses.json +20 -0
- package/deployments/localhost/.chainId +1 -0
- package/deployments/localhost/ComplianceRules.json +662 -0
- package/deployments/localhost/CompliantERC20.json +888 -0
- package/deployments/localhost/IdentityRegistry.json +1093 -0
- package/deployments/localhost/solcInputs/e36969353329df673b4fae03d39e01c4.json +60 -0
- package/deployments/sepolia/.chainId +1 -0
- package/deployments/sepolia/.gitkeep +0 -0
- package/deployments/sepolia/ComplianceRules.json +662 -0
- package/deployments/sepolia/CompliantERC20.json +888 -0
- package/deployments/sepolia/IdentityRegistry.json +1093 -0
- package/deployments/sepolia/solcInputs/93d280ff0d4e798a18947a9ed6015031.json +60 -0
- package/dist/index.d.ts +459 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +135 -0
- package/package.json +110 -0
- package/typechain-types/@fhevm/index.ts +5 -0
- package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/ZamaConfig.ts +69 -0
- package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/ZamaEthereumConfig.ts +90 -0
- package/typechain-types/@fhevm/solidity/config/ZamaConfig.sol/index.ts +5 -0
- package/typechain-types/@fhevm/solidity/config/index.ts +5 -0
- package/typechain-types/@fhevm/solidity/index.ts +7 -0
- package/typechain-types/@fhevm/solidity/lib/FHE.sol/FHE.ts +112 -0
- package/typechain-types/@fhevm/solidity/lib/FHE.sol/IKMSVerifier.ts +108 -0
- package/typechain-types/@fhevm/solidity/lib/FHE.sol/index.ts +5 -0
- package/typechain-types/@fhevm/solidity/lib/Impl.sol/IACL.ts +190 -0
- package/typechain-types/@fhevm/solidity/lib/Impl.sol/IFHEVMExecutor.ts +623 -0
- package/typechain-types/@fhevm/solidity/lib/Impl.sol/IInputVerifier.ts +90 -0
- package/typechain-types/@fhevm/solidity/lib/Impl.sol/index.ts +6 -0
- package/typechain-types/@fhevm/solidity/lib/index.ts +7 -0
- package/typechain-types/common.ts +131 -0
- package/typechain-types/contracts/compliance/ComplianceRules.ts +479 -0
- package/typechain-types/contracts/compliance/index.ts +4 -0
- package/typechain-types/contracts/core/IdentityRegistry.ts +874 -0
- package/typechain-types/contracts/core/index.ts +4 -0
- package/typechain-types/contracts/index.ts +11 -0
- package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +798 -0
- package/typechain-types/contracts/interfaces/index.ts +4 -0
- package/typechain-types/contracts/tokens/CompliantERC20.sol/CompliantERC20.ts +572 -0
- package/typechain-types/contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts +95 -0
- package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +5 -0
- package/typechain-types/contracts/tokens/index.ts +5 -0
- package/typechain-types/factories/@fhevm/index.ts +4 -0
- package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/ZamaConfig__factory.ts +69 -0
- package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/ZamaEthereumConfig__factory.ts +43 -0
- package/typechain-types/factories/@fhevm/solidity/config/ZamaConfig.sol/index.ts +5 -0
- package/typechain-types/factories/@fhevm/solidity/config/index.ts +4 -0
- package/typechain-types/factories/@fhevm/solidity/index.ts +5 -0
- package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/FHE__factory.ts +88 -0
- package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/IKMSVerifier__factory.ts +54 -0
- package/typechain-types/factories/@fhevm/solidity/lib/FHE.sol/index.ts +5 -0
- package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IACL__factory.ts +121 -0
- package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IFHEVMExecutor__factory.ts +810 -0
- package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/IInputVerifier__factory.ts +32 -0
- package/typechain-types/factories/@fhevm/solidity/lib/Impl.sol/index.ts +6 -0
- package/typechain-types/factories/@fhevm/solidity/lib/index.ts +5 -0
- package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +437 -0
- package/typechain-types/factories/contracts/compliance/index.ts +4 -0
- package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +777 -0
- package/typechain-types/factories/contracts/core/index.ts +4 -0
- package/typechain-types/factories/contracts/index.ts +7 -0
- package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +640 -0
- package/typechain-types/factories/contracts/interfaces/index.ts +4 -0
- package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +581 -0
- package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +44 -0
- package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/tokens/index.ts +4 -0
- package/typechain-types/factories/index.ts +5 -0
- package/typechain-types/hardhat.d.ts +261 -0
- package/typechain-types/index.ts +32 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Interface, type ContractRunner } from "ethers";
|
|
6
|
+
import type {
|
|
7
|
+
IInputVerifier,
|
|
8
|
+
IInputVerifierInterface,
|
|
9
|
+
} from "../../../../../@fhevm/solidity/lib/Impl.sol/IInputVerifier";
|
|
10
|
+
|
|
11
|
+
const _abi = [
|
|
12
|
+
{
|
|
13
|
+
inputs: [],
|
|
14
|
+
name: "cleanTransientStorage",
|
|
15
|
+
outputs: [],
|
|
16
|
+
stateMutability: "nonpayable",
|
|
17
|
+
type: "function",
|
|
18
|
+
},
|
|
19
|
+
] as const;
|
|
20
|
+
|
|
21
|
+
export class IInputVerifier__factory {
|
|
22
|
+
static readonly abi = _abi;
|
|
23
|
+
static createInterface(): IInputVerifierInterface {
|
|
24
|
+
return new Interface(_abi) as IInputVerifierInterface;
|
|
25
|
+
}
|
|
26
|
+
static connect(
|
|
27
|
+
address: string,
|
|
28
|
+
runner?: ContractRunner | null
|
|
29
|
+
): IInputVerifier {
|
|
30
|
+
return new Contract(address, _abi, runner) as unknown as IInputVerifier;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
export { IACL__factory } from "./IACL__factory";
|
|
5
|
+
export { IFHEVMExecutor__factory } from "./IFHEVMExecutor__factory";
|
|
6
|
+
export { IInputVerifier__factory } from "./IInputVerifier__factory";
|
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
Contract,
|
|
6
|
+
ContractFactory,
|
|
7
|
+
ContractTransactionResponse,
|
|
8
|
+
Interface,
|
|
9
|
+
} from "ethers";
|
|
10
|
+
import type {
|
|
11
|
+
Signer,
|
|
12
|
+
BigNumberish,
|
|
13
|
+
AddressLike,
|
|
14
|
+
ContractDeployTransaction,
|
|
15
|
+
ContractRunner,
|
|
16
|
+
} from "ethers";
|
|
17
|
+
import type { NonPayableOverrides } from "../../../common";
|
|
18
|
+
import type {
|
|
19
|
+
ComplianceRules,
|
|
20
|
+
ComplianceRulesInterface,
|
|
21
|
+
} from "../../../contracts/compliance/ComplianceRules";
|
|
22
|
+
|
|
23
|
+
const _abi = [
|
|
24
|
+
{
|
|
25
|
+
inputs: [
|
|
26
|
+
{
|
|
27
|
+
internalType: "address",
|
|
28
|
+
name: "registry",
|
|
29
|
+
type: "address",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
internalType: "uint8",
|
|
33
|
+
name: "initialMinKycLevel",
|
|
34
|
+
type: "uint8",
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
stateMutability: "nonpayable",
|
|
38
|
+
type: "constructor",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
inputs: [],
|
|
42
|
+
name: "AccessProhibited",
|
|
43
|
+
type: "error",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
inputs: [],
|
|
47
|
+
name: "CallerNotAuthorized",
|
|
48
|
+
type: "error",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
inputs: [],
|
|
52
|
+
name: "InvalidOwner",
|
|
53
|
+
type: "error",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
inputs: [],
|
|
57
|
+
name: "OnlyOwner",
|
|
58
|
+
type: "error",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
inputs: [],
|
|
62
|
+
name: "OnlyPendingOwner",
|
|
63
|
+
type: "error",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
inputs: [],
|
|
67
|
+
name: "RegistryNotSet",
|
|
68
|
+
type: "error",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
inputs: [],
|
|
72
|
+
name: "ZamaProtocolUnsupported",
|
|
73
|
+
type: "error",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
anonymous: false,
|
|
77
|
+
inputs: [
|
|
78
|
+
{
|
|
79
|
+
indexed: true,
|
|
80
|
+
internalType: "address",
|
|
81
|
+
name: "caller",
|
|
82
|
+
type: "address",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
indexed: false,
|
|
86
|
+
internalType: "bool",
|
|
87
|
+
name: "allowed",
|
|
88
|
+
type: "bool",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
name: "AuthorizedCallerUpdated",
|
|
92
|
+
type: "event",
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
anonymous: false,
|
|
96
|
+
inputs: [
|
|
97
|
+
{
|
|
98
|
+
indexed: true,
|
|
99
|
+
internalType: "address",
|
|
100
|
+
name: "user",
|
|
101
|
+
type: "address",
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
name: "ComplianceChecked",
|
|
105
|
+
type: "event",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
anonymous: false,
|
|
109
|
+
inputs: [
|
|
110
|
+
{
|
|
111
|
+
indexed: true,
|
|
112
|
+
internalType: "uint8",
|
|
113
|
+
name: "newLevel",
|
|
114
|
+
type: "uint8",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
name: "MinKycLevelUpdated",
|
|
118
|
+
type: "event",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
anonymous: false,
|
|
122
|
+
inputs: [
|
|
123
|
+
{
|
|
124
|
+
indexed: true,
|
|
125
|
+
internalType: "address",
|
|
126
|
+
name: "currentOwner",
|
|
127
|
+
type: "address",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
indexed: true,
|
|
131
|
+
internalType: "address",
|
|
132
|
+
name: "pendingOwner",
|
|
133
|
+
type: "address",
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
name: "OwnershipTransferStarted",
|
|
137
|
+
type: "event",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
anonymous: false,
|
|
141
|
+
inputs: [
|
|
142
|
+
{
|
|
143
|
+
indexed: true,
|
|
144
|
+
internalType: "address",
|
|
145
|
+
name: "previousOwner",
|
|
146
|
+
type: "address",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
indexed: true,
|
|
150
|
+
internalType: "address",
|
|
151
|
+
name: "newOwner",
|
|
152
|
+
type: "address",
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
name: "OwnershipTransferred",
|
|
156
|
+
type: "event",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
inputs: [],
|
|
160
|
+
name: "acceptOwnership",
|
|
161
|
+
outputs: [],
|
|
162
|
+
stateMutability: "nonpayable",
|
|
163
|
+
type: "function",
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
inputs: [
|
|
167
|
+
{
|
|
168
|
+
internalType: "address",
|
|
169
|
+
name: "caller",
|
|
170
|
+
type: "address",
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
name: "authorizedCallers",
|
|
174
|
+
outputs: [
|
|
175
|
+
{
|
|
176
|
+
internalType: "bool",
|
|
177
|
+
name: "authorized",
|
|
178
|
+
type: "bool",
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
stateMutability: "view",
|
|
182
|
+
type: "function",
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
inputs: [
|
|
186
|
+
{
|
|
187
|
+
internalType: "address",
|
|
188
|
+
name: "user",
|
|
189
|
+
type: "address",
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
name: "checkCompliance",
|
|
193
|
+
outputs: [
|
|
194
|
+
{
|
|
195
|
+
internalType: "ebool",
|
|
196
|
+
name: "",
|
|
197
|
+
type: "bytes32",
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
stateMutability: "nonpayable",
|
|
201
|
+
type: "function",
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
inputs: [
|
|
205
|
+
{
|
|
206
|
+
internalType: "address",
|
|
207
|
+
name: "user",
|
|
208
|
+
type: "address",
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
internalType: "uint16",
|
|
212
|
+
name: "allowedCountry",
|
|
213
|
+
type: "uint16",
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
name: "checkComplianceWithCountry",
|
|
217
|
+
outputs: [
|
|
218
|
+
{
|
|
219
|
+
internalType: "ebool",
|
|
220
|
+
name: "",
|
|
221
|
+
type: "bytes32",
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
stateMutability: "nonpayable",
|
|
225
|
+
type: "function",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
inputs: [],
|
|
229
|
+
name: "confidentialProtocolId",
|
|
230
|
+
outputs: [
|
|
231
|
+
{
|
|
232
|
+
internalType: "uint256",
|
|
233
|
+
name: "",
|
|
234
|
+
type: "uint256",
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
stateMutability: "view",
|
|
238
|
+
type: "function",
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
inputs: [
|
|
242
|
+
{
|
|
243
|
+
internalType: "address",
|
|
244
|
+
name: "user",
|
|
245
|
+
type: "address",
|
|
246
|
+
},
|
|
247
|
+
],
|
|
248
|
+
name: "getComplianceResult",
|
|
249
|
+
outputs: [
|
|
250
|
+
{
|
|
251
|
+
internalType: "ebool",
|
|
252
|
+
name: "",
|
|
253
|
+
type: "bytes32",
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
stateMutability: "view",
|
|
257
|
+
type: "function",
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
inputs: [
|
|
261
|
+
{
|
|
262
|
+
internalType: "address",
|
|
263
|
+
name: "user",
|
|
264
|
+
type: "address",
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
name: "hasComplianceResult",
|
|
268
|
+
outputs: [
|
|
269
|
+
{
|
|
270
|
+
internalType: "bool",
|
|
271
|
+
name: "",
|
|
272
|
+
type: "bool",
|
|
273
|
+
},
|
|
274
|
+
],
|
|
275
|
+
stateMutability: "view",
|
|
276
|
+
type: "function",
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
inputs: [],
|
|
280
|
+
name: "identityRegistry",
|
|
281
|
+
outputs: [
|
|
282
|
+
{
|
|
283
|
+
internalType: "contract IIdentityRegistry",
|
|
284
|
+
name: "",
|
|
285
|
+
type: "address",
|
|
286
|
+
},
|
|
287
|
+
],
|
|
288
|
+
stateMutability: "view",
|
|
289
|
+
type: "function",
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
inputs: [],
|
|
293
|
+
name: "minKycLevel",
|
|
294
|
+
outputs: [
|
|
295
|
+
{
|
|
296
|
+
internalType: "uint8",
|
|
297
|
+
name: "",
|
|
298
|
+
type: "uint8",
|
|
299
|
+
},
|
|
300
|
+
],
|
|
301
|
+
stateMutability: "view",
|
|
302
|
+
type: "function",
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
inputs: [],
|
|
306
|
+
name: "owner",
|
|
307
|
+
outputs: [
|
|
308
|
+
{
|
|
309
|
+
internalType: "address",
|
|
310
|
+
name: "",
|
|
311
|
+
type: "address",
|
|
312
|
+
},
|
|
313
|
+
],
|
|
314
|
+
stateMutability: "view",
|
|
315
|
+
type: "function",
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
inputs: [],
|
|
319
|
+
name: "pendingOwner",
|
|
320
|
+
outputs: [
|
|
321
|
+
{
|
|
322
|
+
internalType: "address",
|
|
323
|
+
name: "",
|
|
324
|
+
type: "address",
|
|
325
|
+
},
|
|
326
|
+
],
|
|
327
|
+
stateMutability: "view",
|
|
328
|
+
type: "function",
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
inputs: [
|
|
332
|
+
{
|
|
333
|
+
internalType: "address",
|
|
334
|
+
name: "caller",
|
|
335
|
+
type: "address",
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
internalType: "bool",
|
|
339
|
+
name: "allowed",
|
|
340
|
+
type: "bool",
|
|
341
|
+
},
|
|
342
|
+
],
|
|
343
|
+
name: "setAuthorizedCaller",
|
|
344
|
+
outputs: [],
|
|
345
|
+
stateMutability: "nonpayable",
|
|
346
|
+
type: "function",
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
inputs: [
|
|
350
|
+
{
|
|
351
|
+
internalType: "uint8",
|
|
352
|
+
name: "newLevel",
|
|
353
|
+
type: "uint8",
|
|
354
|
+
},
|
|
355
|
+
],
|
|
356
|
+
name: "setMinKycLevel",
|
|
357
|
+
outputs: [],
|
|
358
|
+
stateMutability: "nonpayable",
|
|
359
|
+
type: "function",
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
inputs: [
|
|
363
|
+
{
|
|
364
|
+
internalType: "address",
|
|
365
|
+
name: "newOwner",
|
|
366
|
+
type: "address",
|
|
367
|
+
},
|
|
368
|
+
],
|
|
369
|
+
name: "transferOwnership",
|
|
370
|
+
outputs: [],
|
|
371
|
+
stateMutability: "nonpayable",
|
|
372
|
+
type: "function",
|
|
373
|
+
},
|
|
374
|
+
] as const;
|
|
375
|
+
|
|
376
|
+
const _bytecode =
|
|
377
|
+
"0x60a060405234801561000f575f5ffd5b5060405161129b38038061129b83398101604081905261002e916102ba565b6100e261003961014b565b80517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e464970080546001600160a01b03199081166001600160a01b039384161790915560208301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497018054831691841691909117905560408301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497028054909216921691909117905550565b6001600160a01b03821661010957604051630e048e7160e41b815260040160405180910390fd5b6001600160a01b039091166080525f80546001600160a01b031916331790556001805460ff909216600160a01b0260ff60a01b19909216919091179055610302565b604080516060810182525f8082526020820181905291810191909152466001036101a4575060408051606080820183525f8083526020808401829052928401819052835191820184528082529181018290529182015290565b4662aa36a703610223575060408051606080820183525f8083526020808401829052928401528251908101835273f0ffdc93b7e186bc2f8cb3daa75d86d1930a433d81527392c920834ec8941d2c77d188936e1f7a6f49c1279181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b46617a69036102a1575060408051606080820183525f808352602080840182905292840152825190810183527350157cffd6bbfa2dece204a89ec419c23ef5755d815273e3a9105a3a932253a70f126eb1e3b589c643dd249181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b6040516373cac13b60e01b815260040160405180910390fd5b5f5f604083850312156102cb575f5ffd5b82516001600160a01b03811681146102e1575f5ffd5b602084015190925060ff811681146102f7575f5ffd5b809150509250929050565b608051610f5161034a5f395f818160ee01528181610329015281816103f20152818161048001528181610518015281816106560152818161073901526107c70152610f515ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c806379ba509711610088578063b4d7ed3b11610063578063b4d7ed3b146101f0578063e30c397814610216578063e451a1b414610229578063f2fde38b1461023c575f5ffd5b806379ba5097146101ce5780638927b030146101d65780638da5cb5b146101de575f5ffd5b80632c289dcf116100c35780632c289dcf14610163578063454bbd2914610176578063536fff6c14610189578063714d3178146101bb575f5ffd5b8063134e18f4146100e95780631cf794b81461012d57806322005b5e14610142575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61014061013b366004610dd0565b61024f565b005b610155610150366004610e0b565b6102c2565b604051908152602001610124565b610155610171366004610e46565b6105ef565b610140610184366004610e6f565b6108ad565b6101ab610197366004610e46565b60036020525f908152604090205460ff1681565b6040519015158152602001610124565b6101ab6101c9366004610e46565b610935565b610140610956565b6101556109da565b5f54610110906001600160a01b031681565b60015461020490600160a01b900460ff1681565b60405160ff9091168152602001610124565b600154610110906001600160a01b031681565b610155610237366004610e46565b6109e8565b61014061024a366004610e46565b610a26565b5f546001600160a01b0316331461027957604051635fc483c560e01b815260040160405180910390fd5b6001805460ff60a01b1916600160a01b60ff8416908102919091179091556040517f4112c9bab84e64484a432251785f83b12087c4e24f7234af674069ee9e94b549905f90a250565b5f82336001600160a01b038216148015906102ec5750335f9081526003602052604090205460ff16155b1561030a5760405163c183bcef60e01b815260040160405180910390fd5b604051631e11d7dd60e11b81526001600160a01b0385811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633c23afba90602401602060405180830381865afa15801561036e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103929190610e99565b6103be575f6103a05f610ac7565b90506103ab81610ae2565b506103b68133610af1565b5091506105e8565b600154604051632afc1eeb60e01b81526001600160a01b038681166004830152600160a01b90920460ff1660248201525f917f00000000000000000000000000000000000000000000000000000000000000001690632afc1eeb906044016020604051808303815f875af1158015610438573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045c9190610eb4565b60405163b745e8b160e01b81526001600160a01b0387811660048301529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063b745e8b1906024016020604051808303815f875af11580156104c6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ea9190610eb4565b6040516391b4975560e01b81526001600160a01b03888116600483015261ffff881660248301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906391b49755906044016020604051808303815f875af115801561055e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105829190610eb4565b90505f6105986105928585610b03565b83610b03565b90506105a381610ae2565b506105ae8133610af1565b506040516001600160a01b038916907f296fb6ae07b0cc29ce12d17d682365452ebd827f6f17a1ff7478ef0a1edae665905f90a294505050505b5092915050565b5f81336001600160a01b038216148015906106195750335f9081526003602052604090205460ff16155b156106375760405163c183bcef60e01b815260040160405180910390fd5b604051631e11d7dd60e11b81526001600160a01b0384811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633c23afba90602401602060405180830381865afa15801561069b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106bf9190610e99565b610705575f6106cd5f610ac7565b90506106d881610ae2565b506106e38133610af1565b506001600160a01b0384165f90815260026020526040902081905591506108a7565b600154604051632afc1eeb60e01b81526001600160a01b038581166004830152600160a01b90920460ff1660248201525f917f00000000000000000000000000000000000000000000000000000000000000001690632afc1eeb906044016020604051808303815f875af115801561077f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a39190610eb4565b60405163b745e8b160e01b81526001600160a01b0386811660048301529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063b745e8b1906024016020604051808303815f875af115801561080d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108319190610eb4565b90505f61083e8383610b03565b6001600160a01b0387165f908152600260205260409020819055905061086381610ae2565b5061086e8133610af1565b506040516001600160a01b038716907f296fb6ae07b0cc29ce12d17d682365452ebd827f6f17a1ff7478ef0a1edae665905f90a2935050505b50919050565b5f546001600160a01b031633146108d757604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0382165f81815260036020908152604091829020805460ff191685151590811790915591519182527fad857fa38c9319cb80848f1ef2f924383b90297eb5d71755738ff037d100faa1910160405180910390a25050565b6001600160a01b0381165f9081526002602052604081205415155b92915050565b6001546001600160a01b03163314610981576040516303c25d1960e61b815260040160405180910390fd5b5f8054600180546001600160a01b038082166001600160a01b031980861682178755909216909255604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b5f6109e3610b38565b905090565b6001600160a01b0381165f90815260026020526040812054610a0981610b6c565b61095057604051631a6bd1fd60e01b815260040160405180910390fd5b5f546001600160a01b03163314610a5057604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038116610a77576040516349e27cff60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009190a350565b5f61095082610ad6575f610ad9565b60015b60ff165f610b77565b5f610aed8230610c21565b5090565b5f610afc8383610c21565b5090919050565b5f82610b1557610b125f610ac7565b92505b81610b2657610b235f610ac7565b91505b610b3183835f610c97565b9392505050565b5f46600103610b475750600190565b4662aa36a703610b58575061271190565b46617a6903610b6757505f1990565b505f90565b5f6109508233610d4c565b7f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e464970154604051639cd07acb60e01b81525f915f516020610efc5f395f51905f52916001600160a01b0390911690639cd07acb90610bd99087908790600401610ecb565b6020604051808303815f875af1158015610bf5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190610eb4565b949350505050565b5f5f516020610efc5f395f51905f528054604051635ca4b5b160e11b8152600481018690526001600160a01b03858116602483015292935091169063b9496b62906044015f604051808303815f87803b158015610c7c575f5ffd5b505af1158015610c8e573d5f5f3e3d5ffd5b50505050505050565b5f5f8215610caa5750600160f81b610cad565b505f5b5f5f516020610efc5f395f51905f52600181015460405163d99882d560e01b815260048101899052602481018890526001600160f81b0319851660448201529192506001600160a01b03169063d99882d5906064016020604051808303815f875af1158015610d1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d429190610eb4565b9695505050505050565b5f805f516020610efc5f395f51905f5280546040516382027b6d60e01b8152600481018790526001600160a01b0386811660248301529293509116906382027b6d90604401602060405180830381865afa158015610dac573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190610e99565b5f60208284031215610de0575f5ffd5b813560ff81168114610b31575f5ffd5b80356001600160a01b0381168114610e06575f5ffd5b919050565b5f5f60408385031215610e1c575f5ffd5b610e2583610df0565b9150602083013561ffff81168114610e3b575f5ffd5b809150509250929050565b5f60208284031215610e56575f5ffd5b610b3182610df0565b8015158114610e6c575f5ffd5b50565b5f5f60408385031215610e80575f5ffd5b610e8983610df0565b91506020830135610e3b81610e5f565b5f60208284031215610ea9575f5ffd5b8151610b3181610e5f565b5f60208284031215610ec4575f5ffd5b5051919050565b8281526040810160548310610eee57634e487b7160e01b5f52602160045260245ffd5b826020830152939250505056fe9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e4649700a2646970667358221220a175d811e808e08bb38fd1de91e102a6f75292eb961ac59f1bb081a6bdba991d64736f6c634300081b0033";
|
|
378
|
+
|
|
379
|
+
type ComplianceRulesConstructorParams =
|
|
380
|
+
| [signer?: Signer]
|
|
381
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
382
|
+
|
|
383
|
+
const isSuperArgs = (
|
|
384
|
+
xs: ComplianceRulesConstructorParams
|
|
385
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
386
|
+
|
|
387
|
+
export class ComplianceRules__factory extends ContractFactory {
|
|
388
|
+
constructor(...args: ComplianceRulesConstructorParams) {
|
|
389
|
+
if (isSuperArgs(args)) {
|
|
390
|
+
super(...args);
|
|
391
|
+
} else {
|
|
392
|
+
super(_abi, _bytecode, args[0]);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
override getDeployTransaction(
|
|
397
|
+
registry: AddressLike,
|
|
398
|
+
initialMinKycLevel: BigNumberish,
|
|
399
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
400
|
+
): Promise<ContractDeployTransaction> {
|
|
401
|
+
return super.getDeployTransaction(
|
|
402
|
+
registry,
|
|
403
|
+
initialMinKycLevel,
|
|
404
|
+
overrides || {}
|
|
405
|
+
);
|
|
406
|
+
}
|
|
407
|
+
override deploy(
|
|
408
|
+
registry: AddressLike,
|
|
409
|
+
initialMinKycLevel: BigNumberish,
|
|
410
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
411
|
+
) {
|
|
412
|
+
return super.deploy(
|
|
413
|
+
registry,
|
|
414
|
+
initialMinKycLevel,
|
|
415
|
+
overrides || {}
|
|
416
|
+
) as Promise<
|
|
417
|
+
ComplianceRules & {
|
|
418
|
+
deploymentTransaction(): ContractTransactionResponse;
|
|
419
|
+
}
|
|
420
|
+
>;
|
|
421
|
+
}
|
|
422
|
+
override connect(runner: ContractRunner | null): ComplianceRules__factory {
|
|
423
|
+
return super.connect(runner) as ComplianceRules__factory;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
static readonly bytecode = _bytecode;
|
|
427
|
+
static readonly abi = _abi;
|
|
428
|
+
static createInterface(): ComplianceRulesInterface {
|
|
429
|
+
return new Interface(_abi) as ComplianceRulesInterface;
|
|
430
|
+
}
|
|
431
|
+
static connect(
|
|
432
|
+
address: string,
|
|
433
|
+
runner?: ContractRunner | null
|
|
434
|
+
): ComplianceRules {
|
|
435
|
+
return new Contract(address, _abi, runner) as unknown as ComplianceRules;
|
|
436
|
+
}
|
|
437
|
+
}
|