@zentity/fhevm-contracts 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abi/ComplianceRules.json +25 -16
- package/abi/CompliantERC20.json +30 -16
- package/abi/IdentityRegistry.json +496 -119
- package/contracts/compliance/ComplianceRules.sol +40 -189
- package/contracts/core/IdentityRegistry.sol +280 -232
- package/contracts/interfaces/IComplianceRules.sol +30 -0
- package/contracts/interfaces/IIdentityRegistry.sol +133 -159
- package/contracts/proxy/ERC1967Proxy.sol +6 -0
- package/contracts/test/MockFacilitator.sol +40 -0
- package/contracts/tokens/CompliantERC20.sol +28 -242
- package/deployments/hardhat/addresses.json +3 -8
- package/deployments/sepolia/addresses.json +18 -0
- package/dist/index.d.ts +178 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -16
- package/package.json +3 -2
- package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
- package/typechain-types/@openzeppelin/contracts/access/Ownable2Step.ts +217 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
- package/typechain-types/{contracts/tokens/CompliantERC20.sol/IComplianceChecker.ts → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts} +12 -17
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +7 -0
- package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +105 -0
- package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/proxy/Proxy.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
- package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/proxy/index.ts +8 -0
- package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +10 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +251 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +186 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.ts +184 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
- package/typechain-types/@openzeppelin/index.ts +7 -0
- package/typechain-types/contracts/compliance/ComplianceRules.ts +18 -7
- package/typechain-types/contracts/core/IdentityRegistry.ts +493 -233
- package/typechain-types/contracts/index.ts +2 -0
- package/typechain-types/contracts/interfaces/IComplianceRules.ts +290 -0
- package/typechain-types/contracts/interfaces/IIdentityRegistry.ts +269 -341
- package/typechain-types/contracts/interfaces/index.ts +1 -0
- package/typechain-types/contracts/test/MockFacilitator.ts +187 -0
- package/typechain-types/contracts/test/index.ts +4 -0
- package/typechain-types/contracts/tokens/{CompliantERC20.sol/CompliantERC20.ts → CompliantERC20.ts} +19 -8
- package/typechain-types/contracts/tokens/index.ts +1 -2
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable2Step__factory.ts +138 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +96 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +144 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +26 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +8 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +165 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +122 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable__factory.ts +97 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/cryptography/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/index.ts +5 -0
- package/typechain-types/factories/contracts/compliance/ComplianceRules__factory.ts +26 -17
- package/typechain-types/factories/contracts/core/IdentityRegistry__factory.ts +493 -116
- package/typechain-types/factories/contracts/index.ts +1 -0
- package/typechain-types/factories/contracts/interfaces/IComplianceRules__factory.ts +193 -0
- package/typechain-types/factories/contracts/interfaces/IIdentityRegistry__factory.ts +236 -186
- package/typechain-types/factories/contracts/interfaces/index.ts +1 -0
- package/typechain-types/factories/contracts/test/MockFacilitator__factory.ts +194 -0
- package/typechain-types/factories/contracts/test/index.ts +4 -0
- package/typechain-types/factories/contracts/tokens/CompliantERC20__factory.ts +595 -0
- package/typechain-types/factories/contracts/tokens/index.ts +1 -1
- package/typechain-types/factories/index.ts +1 -0
- package/typechain-types/hardhat.d.ts +394 -16
- package/typechain-types/index.ts +48 -4
- package/deployments/hardhat/.chainId +0 -1
- package/typechain-types/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
- package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/CompliantERC20__factory.ts +0 -581
- package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/IComplianceChecker__factory.ts +0 -44
- package/typechain-types/factories/contracts/tokens/CompliantERC20.sol/index.ts +0 -5
|
@@ -25,6 +25,17 @@ const _abi = [
|
|
|
25
25
|
name: "AccessProhibited",
|
|
26
26
|
type: "error",
|
|
27
27
|
},
|
|
28
|
+
{
|
|
29
|
+
inputs: [
|
|
30
|
+
{
|
|
31
|
+
internalType: "address",
|
|
32
|
+
name: "target",
|
|
33
|
+
type: "address",
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
name: "AddressEmptyCode",
|
|
37
|
+
type: "error",
|
|
38
|
+
},
|
|
28
39
|
{
|
|
29
40
|
inputs: [],
|
|
30
41
|
name: "AlreadyAttested",
|
|
@@ -32,71 +43,129 @@ const _abi = [
|
|
|
32
43
|
},
|
|
33
44
|
{
|
|
34
45
|
inputs: [],
|
|
35
|
-
name: "
|
|
46
|
+
name: "ECDSAInvalidSignature",
|
|
47
|
+
type: "error",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
inputs: [
|
|
51
|
+
{
|
|
52
|
+
internalType: "uint256",
|
|
53
|
+
name: "length",
|
|
54
|
+
type: "uint256",
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
name: "ECDSAInvalidSignatureLength",
|
|
58
|
+
type: "error",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
inputs: [
|
|
62
|
+
{
|
|
63
|
+
internalType: "bytes32",
|
|
64
|
+
name: "s",
|
|
65
|
+
type: "bytes32",
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
name: "ECDSAInvalidSignatureS",
|
|
69
|
+
type: "error",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
inputs: [
|
|
73
|
+
{
|
|
74
|
+
internalType: "address",
|
|
75
|
+
name: "implementation",
|
|
76
|
+
type: "address",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
name: "ERC1967InvalidImplementation",
|
|
36
80
|
type: "error",
|
|
37
81
|
},
|
|
38
82
|
{
|
|
39
83
|
inputs: [],
|
|
40
|
-
name: "
|
|
84
|
+
name: "ERC1967NonPayable",
|
|
41
85
|
type: "error",
|
|
42
86
|
},
|
|
43
87
|
{
|
|
44
88
|
inputs: [],
|
|
45
|
-
name: "
|
|
89
|
+
name: "FailedCall",
|
|
46
90
|
type: "error",
|
|
47
91
|
},
|
|
48
92
|
{
|
|
49
93
|
inputs: [],
|
|
50
|
-
name: "
|
|
94
|
+
name: "InvalidInitialization",
|
|
51
95
|
type: "error",
|
|
52
96
|
},
|
|
53
97
|
{
|
|
54
98
|
inputs: [],
|
|
55
|
-
name: "
|
|
99
|
+
name: "InvalidPermit",
|
|
56
100
|
type: "error",
|
|
57
101
|
},
|
|
58
102
|
{
|
|
59
103
|
inputs: [],
|
|
60
|
-
name: "
|
|
104
|
+
name: "NotAttested",
|
|
105
|
+
type: "error",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
inputs: [],
|
|
109
|
+
name: "NotInitializing",
|
|
110
|
+
type: "error",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
inputs: [],
|
|
114
|
+
name: "OnlyRegistrar",
|
|
61
115
|
type: "error",
|
|
62
116
|
},
|
|
63
117
|
{
|
|
64
|
-
anonymous: false,
|
|
65
118
|
inputs: [
|
|
66
119
|
{
|
|
67
|
-
indexed: true,
|
|
68
|
-
internalType: "address",
|
|
69
|
-
name: "user",
|
|
70
|
-
type: "address",
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
indexed: true,
|
|
74
120
|
internalType: "address",
|
|
75
|
-
name: "
|
|
121
|
+
name: "owner",
|
|
76
122
|
type: "address",
|
|
77
123
|
},
|
|
78
124
|
],
|
|
79
|
-
name: "
|
|
80
|
-
type: "
|
|
125
|
+
name: "OwnableInvalidOwner",
|
|
126
|
+
type: "error",
|
|
81
127
|
},
|
|
82
128
|
{
|
|
83
|
-
anonymous: false,
|
|
84
129
|
inputs: [
|
|
85
130
|
{
|
|
86
|
-
indexed: true,
|
|
87
131
|
internalType: "address",
|
|
88
|
-
name: "
|
|
132
|
+
name: "account",
|
|
89
133
|
type: "address",
|
|
90
134
|
},
|
|
135
|
+
],
|
|
136
|
+
name: "OwnableUnauthorizedAccount",
|
|
137
|
+
type: "error",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
inputs: [],
|
|
141
|
+
name: "PermitExpired",
|
|
142
|
+
type: "error",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
inputs: [],
|
|
146
|
+
name: "UUPSUnauthorizedCallContext",
|
|
147
|
+
type: "error",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
inputs: [
|
|
91
151
|
{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
type: "address",
|
|
152
|
+
internalType: "bytes32",
|
|
153
|
+
name: "slot",
|
|
154
|
+
type: "bytes32",
|
|
96
155
|
},
|
|
97
156
|
],
|
|
98
|
-
name: "
|
|
99
|
-
type: "
|
|
157
|
+
name: "UUPSUnsupportedProxiableUUID",
|
|
158
|
+
type: "error",
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
inputs: [],
|
|
162
|
+
name: "ZamaProtocolUnsupported",
|
|
163
|
+
type: "error",
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
inputs: [],
|
|
167
|
+
name: "ZeroAddress",
|
|
168
|
+
type: "error",
|
|
100
169
|
},
|
|
101
170
|
{
|
|
102
171
|
anonymous: false,
|
|
@@ -110,23 +179,29 @@ const _abi = [
|
|
|
110
179
|
{
|
|
111
180
|
indexed: true,
|
|
112
181
|
internalType: "address",
|
|
113
|
-
name: "
|
|
182
|
+
name: "grantee",
|
|
114
183
|
type: "address",
|
|
115
184
|
},
|
|
116
185
|
{
|
|
117
|
-
indexed:
|
|
118
|
-
internalType: "
|
|
119
|
-
name: "
|
|
120
|
-
type: "
|
|
186
|
+
indexed: false,
|
|
187
|
+
internalType: "uint8",
|
|
188
|
+
name: "attributeMask",
|
|
189
|
+
type: "uint8",
|
|
121
190
|
},
|
|
122
191
|
{
|
|
123
192
|
indexed: false,
|
|
124
|
-
internalType: "
|
|
125
|
-
name: "
|
|
126
|
-
type: "
|
|
193
|
+
internalType: "enum IIdentityRegistry.Purpose",
|
|
194
|
+
name: "purpose",
|
|
195
|
+
type: "uint8",
|
|
127
196
|
},
|
|
128
197
|
],
|
|
129
|
-
name: "
|
|
198
|
+
name: "AttributeAccessGranted",
|
|
199
|
+
type: "event",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
anonymous: false,
|
|
203
|
+
inputs: [],
|
|
204
|
+
name: "EIP712DomainChanged",
|
|
130
205
|
type: "event",
|
|
131
206
|
},
|
|
132
207
|
{
|
|
@@ -139,7 +214,7 @@ const _abi = [
|
|
|
139
214
|
type: "address",
|
|
140
215
|
},
|
|
141
216
|
],
|
|
142
|
-
name: "
|
|
217
|
+
name: "IdentityAttested",
|
|
143
218
|
type: "event",
|
|
144
219
|
},
|
|
145
220
|
{
|
|
@@ -151,26 +226,21 @@ const _abi = [
|
|
|
151
226
|
name: "user",
|
|
152
227
|
type: "address",
|
|
153
228
|
},
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
indexed: true,
|
|
162
|
-
internalType: "uint256",
|
|
163
|
-
name: "attestationId",
|
|
164
|
-
type: "uint256",
|
|
165
|
-
},
|
|
229
|
+
],
|
|
230
|
+
name: "IdentityRevoked",
|
|
231
|
+
type: "event",
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
anonymous: false,
|
|
235
|
+
inputs: [
|
|
166
236
|
{
|
|
167
237
|
indexed: false,
|
|
168
|
-
internalType: "
|
|
169
|
-
name: "
|
|
170
|
-
type: "
|
|
238
|
+
internalType: "uint64",
|
|
239
|
+
name: "version",
|
|
240
|
+
type: "uint64",
|
|
171
241
|
},
|
|
172
242
|
],
|
|
173
|
-
name: "
|
|
243
|
+
name: "Initialized",
|
|
174
244
|
type: "event",
|
|
175
245
|
},
|
|
176
246
|
{
|
|
@@ -179,13 +249,13 @@ const _abi = [
|
|
|
179
249
|
{
|
|
180
250
|
indexed: true,
|
|
181
251
|
internalType: "address",
|
|
182
|
-
name: "
|
|
252
|
+
name: "previousOwner",
|
|
183
253
|
type: "address",
|
|
184
254
|
},
|
|
185
255
|
{
|
|
186
256
|
indexed: true,
|
|
187
257
|
internalType: "address",
|
|
188
|
-
name: "
|
|
258
|
+
name: "newOwner",
|
|
189
259
|
type: "address",
|
|
190
260
|
},
|
|
191
261
|
],
|
|
@@ -220,8 +290,14 @@ const _abi = [
|
|
|
220
290
|
name: "registrar",
|
|
221
291
|
type: "address",
|
|
222
292
|
},
|
|
293
|
+
{
|
|
294
|
+
indexed: false,
|
|
295
|
+
internalType: "bool",
|
|
296
|
+
name: "status",
|
|
297
|
+
type: "bool",
|
|
298
|
+
},
|
|
223
299
|
],
|
|
224
|
-
name: "
|
|
300
|
+
name: "RegistrarUpdated",
|
|
225
301
|
type: "event",
|
|
226
302
|
},
|
|
227
303
|
{
|
|
@@ -230,29 +306,107 @@ const _abi = [
|
|
|
230
306
|
{
|
|
231
307
|
indexed: true,
|
|
232
308
|
internalType: "address",
|
|
233
|
-
name: "
|
|
309
|
+
name: "implementation",
|
|
234
310
|
type: "address",
|
|
235
311
|
},
|
|
236
312
|
],
|
|
237
|
-
name: "
|
|
313
|
+
name: "Upgraded",
|
|
238
314
|
type: "event",
|
|
239
315
|
},
|
|
240
316
|
{
|
|
241
317
|
inputs: [],
|
|
242
|
-
name: "
|
|
243
|
-
outputs: [
|
|
244
|
-
|
|
318
|
+
name: "ATTEST_PERMIT_TYPEHASH",
|
|
319
|
+
outputs: [
|
|
320
|
+
{
|
|
321
|
+
internalType: "bytes32",
|
|
322
|
+
name: "",
|
|
323
|
+
type: "bytes32",
|
|
324
|
+
},
|
|
325
|
+
],
|
|
326
|
+
stateMutability: "view",
|
|
245
327
|
type: "function",
|
|
246
328
|
},
|
|
247
329
|
{
|
|
248
|
-
inputs: [
|
|
330
|
+
inputs: [],
|
|
331
|
+
name: "ATTR_ALL",
|
|
332
|
+
outputs: [
|
|
249
333
|
{
|
|
250
|
-
internalType: "
|
|
251
|
-
name: "
|
|
252
|
-
type: "
|
|
334
|
+
internalType: "uint8",
|
|
335
|
+
name: "",
|
|
336
|
+
type: "uint8",
|
|
253
337
|
},
|
|
254
338
|
],
|
|
255
|
-
|
|
339
|
+
stateMutability: "view",
|
|
340
|
+
type: "function",
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
inputs: [],
|
|
344
|
+
name: "ATTR_BIRTH_YEAR",
|
|
345
|
+
outputs: [
|
|
346
|
+
{
|
|
347
|
+
internalType: "uint8",
|
|
348
|
+
name: "",
|
|
349
|
+
type: "uint8",
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
stateMutability: "view",
|
|
353
|
+
type: "function",
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
inputs: [],
|
|
357
|
+
name: "ATTR_BLACKLIST",
|
|
358
|
+
outputs: [
|
|
359
|
+
{
|
|
360
|
+
internalType: "uint8",
|
|
361
|
+
name: "",
|
|
362
|
+
type: "uint8",
|
|
363
|
+
},
|
|
364
|
+
],
|
|
365
|
+
stateMutability: "view",
|
|
366
|
+
type: "function",
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
inputs: [],
|
|
370
|
+
name: "ATTR_COMPLIANCE",
|
|
371
|
+
outputs: [
|
|
372
|
+
{
|
|
373
|
+
internalType: "uint8",
|
|
374
|
+
name: "",
|
|
375
|
+
type: "uint8",
|
|
376
|
+
},
|
|
377
|
+
],
|
|
378
|
+
stateMutability: "view",
|
|
379
|
+
type: "function",
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
inputs: [],
|
|
383
|
+
name: "ATTR_COUNTRY",
|
|
384
|
+
outputs: [
|
|
385
|
+
{
|
|
386
|
+
internalType: "uint8",
|
|
387
|
+
name: "",
|
|
388
|
+
type: "uint8",
|
|
389
|
+
},
|
|
390
|
+
],
|
|
391
|
+
stateMutability: "view",
|
|
392
|
+
type: "function",
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
inputs: [],
|
|
396
|
+
name: "UPGRADE_INTERFACE_VERSION",
|
|
397
|
+
outputs: [
|
|
398
|
+
{
|
|
399
|
+
internalType: "string",
|
|
400
|
+
name: "",
|
|
401
|
+
type: "string",
|
|
402
|
+
},
|
|
403
|
+
],
|
|
404
|
+
stateMutability: "view",
|
|
405
|
+
type: "function",
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
inputs: [],
|
|
409
|
+
name: "acceptOwnership",
|
|
256
410
|
outputs: [],
|
|
257
411
|
stateMutability: "nonpayable",
|
|
258
412
|
type: "function",
|
|
@@ -260,9 +414,61 @@ const _abi = [
|
|
|
260
414
|
{
|
|
261
415
|
inputs: [
|
|
262
416
|
{
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
417
|
+
components: [
|
|
418
|
+
{
|
|
419
|
+
internalType: "uint8",
|
|
420
|
+
name: "birthYearOffset",
|
|
421
|
+
type: "uint8",
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
internalType: "uint16",
|
|
425
|
+
name: "countryCode",
|
|
426
|
+
type: "uint16",
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
internalType: "uint8",
|
|
430
|
+
name: "complianceLevel",
|
|
431
|
+
type: "uint8",
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
internalType: "bool",
|
|
435
|
+
name: "isBlacklisted",
|
|
436
|
+
type: "bool",
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
internalType: "bytes32",
|
|
440
|
+
name: "proofSetHash",
|
|
441
|
+
type: "bytes32",
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
internalType: "uint32",
|
|
445
|
+
name: "policyVersion",
|
|
446
|
+
type: "uint32",
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
internalType: "uint256",
|
|
450
|
+
name: "deadline",
|
|
451
|
+
type: "uint256",
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
internalType: "uint8",
|
|
455
|
+
name: "v",
|
|
456
|
+
type: "uint8",
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
internalType: "bytes32",
|
|
460
|
+
name: "r",
|
|
461
|
+
type: "bytes32",
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
internalType: "bytes32",
|
|
465
|
+
name: "s",
|
|
466
|
+
type: "bytes32",
|
|
467
|
+
},
|
|
468
|
+
],
|
|
469
|
+
internalType: "struct IIdentityRegistry.AttestPermitData",
|
|
470
|
+
name: "permit",
|
|
471
|
+
type: "tuple",
|
|
266
472
|
},
|
|
267
473
|
{
|
|
268
474
|
internalType: "externalEuint8",
|
|
@@ -290,7 +496,7 @@ const _abi = [
|
|
|
290
496
|
type: "bytes",
|
|
291
497
|
},
|
|
292
498
|
],
|
|
293
|
-
name: "
|
|
499
|
+
name: "attestWithPermit",
|
|
294
500
|
outputs: [],
|
|
295
501
|
stateMutability: "nonpayable",
|
|
296
502
|
type: "function",
|
|
@@ -307,7 +513,7 @@ const _abi = [
|
|
|
307
513
|
outputs: [
|
|
308
514
|
{
|
|
309
515
|
internalType: "uint256",
|
|
310
|
-
name: "
|
|
516
|
+
name: "ts",
|
|
311
517
|
type: "uint256",
|
|
312
518
|
},
|
|
313
519
|
],
|
|
@@ -315,16 +521,27 @@ const _abi = [
|
|
|
315
521
|
type: "function",
|
|
316
522
|
},
|
|
317
523
|
{
|
|
318
|
-
inputs: [
|
|
319
|
-
|
|
524
|
+
inputs: [
|
|
525
|
+
{
|
|
526
|
+
internalType: "address",
|
|
527
|
+
name: "user",
|
|
528
|
+
type: "address",
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
internalType: "uint8",
|
|
532
|
+
name: "minLevel",
|
|
533
|
+
type: "uint8",
|
|
534
|
+
},
|
|
535
|
+
],
|
|
536
|
+
name: "checkCompliance",
|
|
320
537
|
outputs: [
|
|
321
538
|
{
|
|
322
|
-
internalType: "
|
|
539
|
+
internalType: "ebool",
|
|
323
540
|
name: "",
|
|
324
|
-
type: "
|
|
541
|
+
type: "bytes32",
|
|
325
542
|
},
|
|
326
543
|
],
|
|
327
|
-
stateMutability: "
|
|
544
|
+
stateMutability: "nonpayable",
|
|
328
545
|
type: "function",
|
|
329
546
|
},
|
|
330
547
|
{
|
|
@@ -339,7 +556,7 @@ const _abi = [
|
|
|
339
556
|
outputs: [
|
|
340
557
|
{
|
|
341
558
|
internalType: "uint256",
|
|
342
|
-
name: "
|
|
559
|
+
name: "id",
|
|
343
560
|
type: "uint256",
|
|
344
561
|
},
|
|
345
562
|
],
|
|
@@ -347,35 +564,44 @@ const _abi = [
|
|
|
347
564
|
type: "function",
|
|
348
565
|
},
|
|
349
566
|
{
|
|
350
|
-
inputs: [
|
|
567
|
+
inputs: [],
|
|
568
|
+
name: "eip712Domain",
|
|
569
|
+
outputs: [
|
|
351
570
|
{
|
|
352
|
-
internalType: "
|
|
353
|
-
name: "
|
|
354
|
-
type: "
|
|
571
|
+
internalType: "bytes1",
|
|
572
|
+
name: "fields",
|
|
573
|
+
type: "bytes1",
|
|
355
574
|
},
|
|
356
575
|
{
|
|
357
|
-
internalType: "
|
|
358
|
-
name: "
|
|
359
|
-
type: "
|
|
576
|
+
internalType: "string",
|
|
577
|
+
name: "name",
|
|
578
|
+
type: "string",
|
|
360
579
|
},
|
|
361
|
-
],
|
|
362
|
-
name: "getAttestationMetadata",
|
|
363
|
-
outputs: [
|
|
364
580
|
{
|
|
365
|
-
internalType: "
|
|
366
|
-
name: "
|
|
367
|
-
type: "
|
|
581
|
+
internalType: "string",
|
|
582
|
+
name: "version",
|
|
583
|
+
type: "string",
|
|
368
584
|
},
|
|
369
585
|
{
|
|
370
586
|
internalType: "uint256",
|
|
371
|
-
name: "
|
|
587
|
+
name: "chainId",
|
|
372
588
|
type: "uint256",
|
|
373
589
|
},
|
|
374
590
|
{
|
|
375
591
|
internalType: "address",
|
|
376
|
-
name: "
|
|
592
|
+
name: "verifyingContract",
|
|
377
593
|
type: "address",
|
|
378
594
|
},
|
|
595
|
+
{
|
|
596
|
+
internalType: "bytes32",
|
|
597
|
+
name: "salt",
|
|
598
|
+
type: "bytes32",
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
internalType: "uint256[]",
|
|
602
|
+
name: "extensions",
|
|
603
|
+
type: "uint256[]",
|
|
604
|
+
},
|
|
379
605
|
],
|
|
380
606
|
stateMutability: "view",
|
|
381
607
|
type: "function",
|
|
@@ -407,7 +633,7 @@ const _abi = [
|
|
|
407
633
|
type: "address",
|
|
408
634
|
},
|
|
409
635
|
],
|
|
410
|
-
name: "
|
|
636
|
+
name: "getBlacklistStatus",
|
|
411
637
|
outputs: [
|
|
412
638
|
{
|
|
413
639
|
internalType: "ebool",
|
|
@@ -426,10 +652,10 @@ const _abi = [
|
|
|
426
652
|
type: "address",
|
|
427
653
|
},
|
|
428
654
|
],
|
|
429
|
-
name: "
|
|
655
|
+
name: "getComplianceLevel",
|
|
430
656
|
outputs: [
|
|
431
657
|
{
|
|
432
|
-
internalType: "
|
|
658
|
+
internalType: "euint8",
|
|
433
659
|
name: "",
|
|
434
660
|
type: "bytes32",
|
|
435
661
|
},
|
|
@@ -445,10 +671,10 @@ const _abi = [
|
|
|
445
671
|
type: "address",
|
|
446
672
|
},
|
|
447
673
|
],
|
|
448
|
-
name: "
|
|
674
|
+
name: "getCountryCode",
|
|
449
675
|
outputs: [
|
|
450
676
|
{
|
|
451
|
-
internalType: "
|
|
677
|
+
internalType: "euint16",
|
|
452
678
|
name: "",
|
|
453
679
|
type: "bytes32",
|
|
454
680
|
},
|
|
@@ -464,17 +690,17 @@ const _abi = [
|
|
|
464
690
|
type: "address",
|
|
465
691
|
},
|
|
466
692
|
{
|
|
467
|
-
internalType: "
|
|
468
|
-
name: "
|
|
469
|
-
type: "
|
|
693
|
+
internalType: "address",
|
|
694
|
+
name: "grantee",
|
|
695
|
+
type: "address",
|
|
470
696
|
},
|
|
471
697
|
],
|
|
472
|
-
name: "
|
|
698
|
+
name: "getGrantedAttributes",
|
|
473
699
|
outputs: [
|
|
474
700
|
{
|
|
475
|
-
internalType: "
|
|
701
|
+
internalType: "uint8",
|
|
476
702
|
name: "",
|
|
477
|
-
type: "
|
|
703
|
+
type: "uint8",
|
|
478
704
|
},
|
|
479
705
|
],
|
|
480
706
|
stateMutability: "view",
|
|
@@ -488,12 +714,12 @@ const _abi = [
|
|
|
488
714
|
type: "address",
|
|
489
715
|
},
|
|
490
716
|
],
|
|
491
|
-
name: "
|
|
717
|
+
name: "getPolicyVersion",
|
|
492
718
|
outputs: [
|
|
493
719
|
{
|
|
494
|
-
internalType: "
|
|
720
|
+
internalType: "uint32",
|
|
495
721
|
name: "",
|
|
496
|
-
type: "
|
|
722
|
+
type: "uint32",
|
|
497
723
|
},
|
|
498
724
|
],
|
|
499
725
|
stateMutability: "view",
|
|
@@ -506,13 +732,27 @@ const _abi = [
|
|
|
506
732
|
name: "user",
|
|
507
733
|
type: "address",
|
|
508
734
|
},
|
|
735
|
+
],
|
|
736
|
+
name: "getProofSetHash",
|
|
737
|
+
outputs: [
|
|
509
738
|
{
|
|
510
|
-
internalType: "
|
|
511
|
-
name: "
|
|
512
|
-
type: "
|
|
739
|
+
internalType: "bytes32",
|
|
740
|
+
name: "",
|
|
741
|
+
type: "bytes32",
|
|
513
742
|
},
|
|
514
743
|
],
|
|
515
|
-
|
|
744
|
+
stateMutability: "view",
|
|
745
|
+
type: "function",
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
inputs: [
|
|
749
|
+
{
|
|
750
|
+
internalType: "bytes32",
|
|
751
|
+
name: "key",
|
|
752
|
+
type: "bytes32",
|
|
753
|
+
},
|
|
754
|
+
],
|
|
755
|
+
name: "getVerificationResult",
|
|
516
756
|
outputs: [
|
|
517
757
|
{
|
|
518
758
|
internalType: "ebool",
|
|
@@ -536,6 +776,29 @@ const _abi = [
|
|
|
536
776
|
stateMutability: "nonpayable",
|
|
537
777
|
type: "function",
|
|
538
778
|
},
|
|
779
|
+
{
|
|
780
|
+
inputs: [
|
|
781
|
+
{
|
|
782
|
+
internalType: "address",
|
|
783
|
+
name: "grantee",
|
|
784
|
+
type: "address",
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
internalType: "uint8",
|
|
788
|
+
name: "attributeMask",
|
|
789
|
+
type: "uint8",
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
internalType: "enum IIdentityRegistry.Purpose",
|
|
793
|
+
name: "purpose",
|
|
794
|
+
type: "uint8",
|
|
795
|
+
},
|
|
796
|
+
],
|
|
797
|
+
name: "grantAttributeAccess",
|
|
798
|
+
outputs: [],
|
|
799
|
+
stateMutability: "nonpayable",
|
|
800
|
+
type: "function",
|
|
801
|
+
},
|
|
539
802
|
{
|
|
540
803
|
inputs: [
|
|
541
804
|
{
|
|
@@ -560,6 +823,19 @@ const _abi = [
|
|
|
560
823
|
stateMutability: "nonpayable",
|
|
561
824
|
type: "function",
|
|
562
825
|
},
|
|
826
|
+
{
|
|
827
|
+
inputs: [
|
|
828
|
+
{
|
|
829
|
+
internalType: "address",
|
|
830
|
+
name: "initialOwner",
|
|
831
|
+
type: "address",
|
|
832
|
+
},
|
|
833
|
+
],
|
|
834
|
+
name: "initialize",
|
|
835
|
+
outputs: [],
|
|
836
|
+
stateMutability: "nonpayable",
|
|
837
|
+
type: "function",
|
|
838
|
+
},
|
|
563
839
|
{
|
|
564
840
|
inputs: [
|
|
565
841
|
{
|
|
@@ -622,6 +898,19 @@ const _abi = [
|
|
|
622
898
|
stateMutability: "nonpayable",
|
|
623
899
|
type: "function",
|
|
624
900
|
},
|
|
901
|
+
{
|
|
902
|
+
inputs: [],
|
|
903
|
+
name: "latestAttestationId",
|
|
904
|
+
outputs: [
|
|
905
|
+
{
|
|
906
|
+
internalType: "uint256",
|
|
907
|
+
name: "",
|
|
908
|
+
type: "uint256",
|
|
909
|
+
},
|
|
910
|
+
],
|
|
911
|
+
stateMutability: "view",
|
|
912
|
+
type: "function",
|
|
913
|
+
},
|
|
625
914
|
{
|
|
626
915
|
inputs: [
|
|
627
916
|
{
|
|
@@ -630,11 +919,11 @@ const _abi = [
|
|
|
630
919
|
type: "address",
|
|
631
920
|
},
|
|
632
921
|
],
|
|
633
|
-
name: "
|
|
922
|
+
name: "nonces",
|
|
634
923
|
outputs: [
|
|
635
924
|
{
|
|
636
925
|
internalType: "uint256",
|
|
637
|
-
name: "
|
|
926
|
+
name: "nonce",
|
|
638
927
|
type: "uint256",
|
|
639
928
|
},
|
|
640
929
|
],
|
|
@@ -667,6 +956,57 @@ const _abi = [
|
|
|
667
956
|
stateMutability: "view",
|
|
668
957
|
type: "function",
|
|
669
958
|
},
|
|
959
|
+
{
|
|
960
|
+
inputs: [
|
|
961
|
+
{
|
|
962
|
+
internalType: "address",
|
|
963
|
+
name: "user",
|
|
964
|
+
type: "address",
|
|
965
|
+
},
|
|
966
|
+
],
|
|
967
|
+
name: "policyVersions",
|
|
968
|
+
outputs: [
|
|
969
|
+
{
|
|
970
|
+
internalType: "uint32",
|
|
971
|
+
name: "version",
|
|
972
|
+
type: "uint32",
|
|
973
|
+
},
|
|
974
|
+
],
|
|
975
|
+
stateMutability: "view",
|
|
976
|
+
type: "function",
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
inputs: [
|
|
980
|
+
{
|
|
981
|
+
internalType: "address",
|
|
982
|
+
name: "user",
|
|
983
|
+
type: "address",
|
|
984
|
+
},
|
|
985
|
+
],
|
|
986
|
+
name: "proofSetHashes",
|
|
987
|
+
outputs: [
|
|
988
|
+
{
|
|
989
|
+
internalType: "bytes32",
|
|
990
|
+
name: "hash",
|
|
991
|
+
type: "bytes32",
|
|
992
|
+
},
|
|
993
|
+
],
|
|
994
|
+
stateMutability: "view",
|
|
995
|
+
type: "function",
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
inputs: [],
|
|
999
|
+
name: "proxiableUUID",
|
|
1000
|
+
outputs: [
|
|
1001
|
+
{
|
|
1002
|
+
internalType: "bytes32",
|
|
1003
|
+
name: "",
|
|
1004
|
+
type: "bytes32",
|
|
1005
|
+
},
|
|
1006
|
+
],
|
|
1007
|
+
stateMutability: "view",
|
|
1008
|
+
type: "function",
|
|
1009
|
+
},
|
|
670
1010
|
{
|
|
671
1011
|
inputs: [
|
|
672
1012
|
{
|
|
@@ -686,15 +1026,29 @@ const _abi = [
|
|
|
686
1026
|
stateMutability: "view",
|
|
687
1027
|
type: "function",
|
|
688
1028
|
},
|
|
1029
|
+
{
|
|
1030
|
+
inputs: [],
|
|
1031
|
+
name: "renounceOwnership",
|
|
1032
|
+
outputs: [],
|
|
1033
|
+
stateMutability: "nonpayable",
|
|
1034
|
+
type: "function",
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
inputs: [],
|
|
1038
|
+
name: "revokeIdentity",
|
|
1039
|
+
outputs: [],
|
|
1040
|
+
stateMutability: "nonpayable",
|
|
1041
|
+
type: "function",
|
|
1042
|
+
},
|
|
689
1043
|
{
|
|
690
1044
|
inputs: [
|
|
691
1045
|
{
|
|
692
1046
|
internalType: "address",
|
|
693
|
-
name: "
|
|
1047
|
+
name: "user",
|
|
694
1048
|
type: "address",
|
|
695
1049
|
},
|
|
696
1050
|
],
|
|
697
|
-
name: "
|
|
1051
|
+
name: "revokeIdentityFor",
|
|
698
1052
|
outputs: [],
|
|
699
1053
|
stateMutability: "nonpayable",
|
|
700
1054
|
type: "function",
|
|
@@ -703,11 +1057,16 @@ const _abi = [
|
|
|
703
1057
|
inputs: [
|
|
704
1058
|
{
|
|
705
1059
|
internalType: "address",
|
|
706
|
-
name: "
|
|
1060
|
+
name: "registrar",
|
|
707
1061
|
type: "address",
|
|
708
1062
|
},
|
|
1063
|
+
{
|
|
1064
|
+
internalType: "bool",
|
|
1065
|
+
name: "status",
|
|
1066
|
+
type: "bool",
|
|
1067
|
+
},
|
|
709
1068
|
],
|
|
710
|
-
name: "
|
|
1069
|
+
name: "setRegistrar",
|
|
711
1070
|
outputs: [],
|
|
712
1071
|
stateMutability: "nonpayable",
|
|
713
1072
|
type: "function",
|
|
@@ -725,10 +1084,28 @@ const _abi = [
|
|
|
725
1084
|
stateMutability: "nonpayable",
|
|
726
1085
|
type: "function",
|
|
727
1086
|
},
|
|
1087
|
+
{
|
|
1088
|
+
inputs: [
|
|
1089
|
+
{
|
|
1090
|
+
internalType: "address",
|
|
1091
|
+
name: "newImplementation",
|
|
1092
|
+
type: "address",
|
|
1093
|
+
},
|
|
1094
|
+
{
|
|
1095
|
+
internalType: "bytes",
|
|
1096
|
+
name: "data",
|
|
1097
|
+
type: "bytes",
|
|
1098
|
+
},
|
|
1099
|
+
],
|
|
1100
|
+
name: "upgradeToAndCall",
|
|
1101
|
+
outputs: [],
|
|
1102
|
+
stateMutability: "payable",
|
|
1103
|
+
type: "function",
|
|
1104
|
+
},
|
|
728
1105
|
] as const;
|
|
729
1106
|
|
|
730
1107
|
const _bytecode =
|
|
731
|
-
"0x608060405234801561000f575f5ffd5b506100c461001b61011c565b80517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e464970080546001600160a01b03199081166001600160a01b039384161790915560208301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497018054831691841691909117905560408301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497028054909216921691909117905550565b600980546001600160a01b031916339081179091555f818152600b6020526040808220805460ff19166001179055517f5c38ce8ff8864a9d2a5ff5aec72a88770e38d181dea59173fde1247cdaa1aea39190a261028b565b604080516060810182525f808252602082018190529181019190915246600103610175575060408051606080820183525f8083526020808401829052928401819052835191820184528082529181018290529182015290565b4662aa36a7036101f4575060408051606080820183525f8083526020808401829052928401528251908101835273f0ffdc93b7e186bc2f8cb3daa75d86d1930a433d81527392c920834ec8941d2c77d188936e1f7a6f49c1279181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b46617a6903610272575060408051606080820183525f808352602080840182905292840152825190810183527350157cffd6bbfa2dece204a89ec419c23ef5755d815273e3a9105a3a932253a70f126eb1e3b589c643dd249181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b6040516373cac13b60e01b815260040160405180910390fd5b611a54806102985f395ff3fe608060405234801561000f575f5ffd5b5060043610610187575f3560e01c80638cb83540116100d9578063b757ce0e11610093578063e30c39781161006e578063e30c3978146103f4578063e462862b14610407578063f2fde38b1461041a578063fdd2132b1461042d575f5ffd5b8063b757ce0e14610359578063ba904eed146103c2578063c736a433146103d5575f5ffd5b80638cb83540146102c35780638da5cb5b146102e257806391b497551461030d578063af92a69314610320578063b3ce9b3d14610333578063b745e8b114610346575f5ffd5b806368746e751161014457806381ba6ce21161011f57806381ba6ce21461027357806382466ccc146102865780638927b0301461029957806389aeca76146102a1575f5ffd5b806368746e751461023957806379ba5097146102585780637d1c8e1714610260575f5ffd5b80630ebddd171461018b578063190258ad146101a05780633c23afba146101c6578063488baabf1461020057806355ab78f51461021357806358d2b4a514610226575b5f5ffd5b61019e610199366004611776565b610440565b005b6101b36101ae366004611776565b6105f7565b6040519081526020015b60405180910390f35b6101f06101d4366004611776565b6001600160a01b03165f90815260056020526040902054151590565b60405190151581526020016101bd565b6101b361020e36600461178f565b610663565b61019e610221366004611776565b610765565b6101b3610234366004611776565b610833565b6101b3610247366004611776565b60066020525f908152604090205481565b61019e6108c3565b61019e61026e3660046117c9565b61094a565b6101b3610281366004611776565b610c7a565b6101b3610294366004611776565b610d0a565b6101b3610d9a565b6101f06102af366004611776565b600b6020525f908152604090205460ff1681565b6101b36102d1366004611776565b60046020525f908152604090205481565b6009546102f5906001600160a01b031681565b6040516001600160a01b0390911681526020016101bd565b6101b361031b36600461186d565b610da8565b61019e61032e366004611776565b610e64565b6101b3610341366004611776565b610eda565b6101b3610354366004611776565b610f6a565b61039e61036736600461189d565b6001600160a01b039182165f9081526007602090815260408083209383529290522080546001820154600290920154909391921690565b6040805193845260208401929092526001600160a01b0316908201526060016101bd565b61019e6103d0366004611776565b61105e565b6101b36103e3366004611776565b60056020525f908152604090205481565b600a546102f5906001600160a01b031681565b6101b361041536600461178f565b6110d1565b61019e610428366004611776565b611140565b6101b361043b36600461186d565b6111e3565b335f908152600b602052604090205460ff1661046f57604051632fed761f60e01b815260040160405180910390fd5b6001600160a01b0381165f90815260056020526040812054908190036104a85760405163099efb8960e41b815260040160405180910390fd5b6104b15f6111ff565b6001600160a01b0383165f908152602081905260408120919091556104d59061120e565b6001600160a01b0383165f908152600160205260408120919091556104f9906111ff565b6001600160a01b0383165f9081526002602052604081209190915561051d9061121e565b6001600160a01b0383165f9081526003602090815260408083209390935560048152828220829055600581528282208290556007815282822084835290529081206001810154909103610571574260018201555b6040516001600160a01b038416907fccf550e579fbeb7d56da9a0175f8d4526535cab139e73b592516f1916d4075dd905f90a281336001600160a01b0316846001600160a01b03167f3d6883511c0cbeaa2a0e9df1b5c9ec5b0b3af47e1ddb09e4582c62e935ac1bd3426040516105ea91815260200190565b60405180910390a4505050565b5f5f8260025f60405160200161060f939291906118c5565b60408051601f1981840301815291815281516020928301205f818152600890935291205490915061063f81611239565b61065c57604051631a6bd1fd60e01b815260040160405180910390fd5b9392505050565b6001600160a01b0382165f90815260046020526040812054810361069a5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f908152600260205260409020546106bb90611239565b6106d857604051631a6bd1fd60e01b815260040160405180910390fd5b6001600160a01b0383165f90815260026020526040812054610702906106fd856111ff565b611244565b90505f845f8560ff1660405160200161071d939291906118c5565b60408051601f1981840301815291815281516020928301205f81815260089093529120839055905061074e82611272565b506107598233611281565b50909150505b92915050565b335f9081526004602052604081205490036107935760405163099efb8960e41b815260040160405180910390fd5b335f908152602081905260409020546107ac9082611281565b50335f908152600160205260409020546107c69082611281565b50335f908152600260205260409020546107e09082611281565b50335f908152600360205260409020546107fa9082611281565b506040516001600160a01b0382169033907f9f520b3bfc56d06f7065d10b4683b3f57ac8895d5026cd176dee95ce1454cb8d905f90a350565b6001600160a01b0381165f90815260046020526040812054810361086a5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0382165f9081526003602052604090205461088b90611239565b6108a857604051631a6bd1fd60e01b815260040160405180910390fd5b506001600160a01b03165f9081526003602052604090205490565b600a546001600160a01b031633146108ee576040516303c25d1960e61b815260040160405180910390fd5b60098054600a80546001600160a01b03198084166001600160a01b038381169182179096559116909155604051929091169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b335f908152600b602052604090205460ff1661097957604051632fed761f60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260056020526040902054156109af576040516335d9080560e01b815260040160405180910390fd5b5f6109ef8784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061129392505050565b90505f610a318785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506112a092505050565b90505f610a738786868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061129392505050565b90505f610ab58787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506112ad92505050565b6001600160a01b038c165f908152602081815260408083208890556001825280832087905560028252808320869055600390915290208190559050610af984611272565b50610b0383611272565b50610b0d82611272565b50610b1781611272565b50610b22848c611281565b50610b2d838c611281565b50610b38828c611281565b50610b43818c611281565b506001600160a01b038b165f90815260066020526040812054610b679060016118fc565b6001600160a01b038d81165f8181526006602090815260408083208690556005825280832086905580516060810182524280825281840185815233838501818152888852600787528588208b8952875285882094518555915160018501559051600290930180546001600160a01b03191693909816929092179096558484526004909252808320949094559251939450919290917f80e69e903f208f7deaa7841fb5c747e52500a1dd84961857e29cd831bdd90c0b91a380336001600160a01b03168d6001600160a01b03167f3c29af9eea4975bcf019c02a4de64f71debe7fa82dc5974c28bc485fe4a7ba1d42604051610c6491815260200190565b60405180910390a4505050505050505050505050565b6001600160a01b0381165f908152600460205260408120548103610cb15760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0382165f90815260016020526040902054610cd290611239565b610cef57604051631a6bd1fd60e01b815260040160405180910390fd5b506001600160a01b03165f9081526001602052604090205490565b6001600160a01b0381165f908152600460205260408120548103610d415760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0382165f90815260026020526040902054610d6290611239565b610d7f57604051631a6bd1fd60e01b815260040160405180910390fd5b506001600160a01b03165f9081526002602052604090205490565b5f610da36112b9565b905090565b6001600160a01b0382165f908152600460205260408120548103610ddf5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f90815260016020526040902054610e0090611239565b610e1d57604051631a6bd1fd60e01b815260040160405180910390fd5b6001600160a01b0383165f90815260016020526040812054610e4790610e428561120e565b6112ed565b90505f8460018561ffff1660405160200161071d939291906118c5565b6009546001600160a01b03163314610e8f57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f818152600b6020526040808220805460ff19166001179055517f5c38ce8ff8864a9d2a5ff5aec72a88770e38d181dea59173fde1247cdaa1aea39190a250565b6001600160a01b0381165f908152600460205260408120548103610f115760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0382165f90815260208190526040902054610f3290611239565b610f4f57604051631a6bd1fd60e01b815260040160405180910390fd5b506001600160a01b03165f9081526020819052604090205490565b6001600160a01b0381165f908152600460205260408120548103610fa15760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0382165f90815260036020526040902054610fc290611239565b610fdf57604051631a6bd1fd60e01b815260040160405180910390fd5b6001600160a01b0382165f908152600360205260408120546110009061131b565b90505f8360025f604051602001611019939291906118c5565b60408051601f1981840301815291815281516020928301205f81815260089093529120839055905061104a82611272565b506110558233611281565b50909392505050565b6009546001600160a01b0316331461108957604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f818152600b6020526040808220805460ff19169055517f81cb97a294b3ff5f91ef4048b3173c7f8f6943d9750add2071199061165e5f579190a250565b5f5f835f8460ff166040516020016110eb939291906118c5565b60408051601f1981840301815291815281516020928301205f818152600890935291205490915061111b81611239565b61113857604051631a6bd1fd60e01b815260040160405180910390fd5b949350505050565b6009546001600160a01b0316331461116b57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038116611192576040516349e27cff60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600954604051919216907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700905f90a350565b5f5f8360018461ffff166040516020016110eb939291906118c5565b5f61075f8260ff166002611325565b5f61075f8261ffff166003611325565b5f61075f8261122d575f611230565b60015b60ff165f611325565b5f61075f82336113b4565b5f82611256576112535f6111ff565b92505b81611267576112645f6111ff565b91505b61065c83835f611438565b5f61127d82306114f5565b5090565b5f61128c83836114f5565b5090919050565b5f61065c8383600261156b565b5f61065c8383600361156b565b5f61065c83835f61156b565b5f466001036112c85750600190565b4662aa36a7036112d9575061271190565b46617a69036112e857505f1990565b505f90565b5f826112ff576112fc5f61120e565b92505b816113105761130d5f61120e565b91505b61065c83835f611665565b5f61075f826116dc565b5f5160206119df5f395f51905f5254604051639cd07acb60e01b81525f915f5160206119ff5f395f51905f52916001600160a01b0390911690639cd07acb90611374908790879060040161193b565b6020604051808303815f875af1158015611390573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611138919061194f565b5f805f5160206119ff5f395f51905f5280546040516382027b6d60e01b8152600481018790526001600160a01b0386811660248301529293509116906382027b6d90604401602060405180830381865afa158015611414573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111389190611966565b5f5f821561144b5750600160f81b61144e565b505f5b5f5160206119df5f395f51905f5254604051631391547f60e01b815260048101879052602481018690526001600160f81b0319831660448201525f5160206119ff5f395f51905f52916001600160a01b031690631391547f906064015b6020604051808303815f875af11580156114c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114eb919061194f565b9695505050505050565b5f5f5160206119ff5f395f51905f528054604051635ca4b5b160e11b8152600481018690526001600160a01b03858116602483015292935091169063b9496b62906044015f604051808303815f87803b158015611550575f5ffd5b505af1158015611562573d5f5f3e3d5ffd5b50505050505050565b5f5160206119df5f395f51905f525460405163045fc19560e11b81525f915f5160206119ff5f395f51905f52916001600160a01b03909116906308bf832a906115be908890339089908990600401611985565b6020604051808303815f875af11580156115da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115fe919061194f565b8154604051630f8e573b60e21b8152600481018390523360248201529193506001600160a01b031690633e395cec906044015f604051808303815f87803b158015611647575f5ffd5b505af1158015611659573d5f5f3e3d5ffd5b50505050509392505050565b5f5f82156116785750600160f81b61167b565b505f5b5f5160206119df5f395f51905f525460405163f77f3f1d60e01b815260048101879052602481018690526001600160f81b0319831660448201525f5160206119ff5f395f51905f52916001600160a01b03169063f77f3f1d906064016114ab565b5f805f5160206119ff5f395f51905f526001810154604051630f51ccfb60e41b8152600481018690529192506001600160a01b03169063f51ccfb0906024016020604051808303815f875af1158015611737573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065c919061194f565b80356001600160a01b0381168114611771575f5ffd5b919050565b5f60208284031215611786575f5ffd5b61065c8261175b565b5f5f604083850312156117a0575f5ffd5b6117a98361175b565b9150602083013560ff811681146117be575f5ffd5b809150509250929050565b5f5f5f5f5f5f5f60c0888a0312156117df575f5ffd5b6117e88861175b565b96506020880135955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561181f575f5ffd5b8801601f81018a1361182f575f5ffd5b803567ffffffffffffffff811115611845575f5ffd5b8a6020828401011115611856575f5ffd5b602082019350809250505092959891949750929550565b5f5f6040838503121561187e575f5ffd5b6118878361175b565b9150602083013561ffff811681146117be575f5ffd5b5f5f604083850312156118ae575f5ffd5b6118b78361175b565b946020939093013593505050565b60609390931b6bffffffffffffffffffffffff1916835260f89190911b6001600160f81b0319166014830152601582015260350190565b8082018082111561075f57634e487b7160e01b5f52601160045260245ffd5b6054811061193757634e487b7160e01b5f52602160045260245ffd5b9052565b8281526040810161065c602083018461191b565b5f6020828403121561195f575f5ffd5b5051919050565b5f60208284031215611976575f5ffd5b8151801515811461065c575f5ffd5b84815260018060a01b0384166020820152608060408201525f8351806080840152806020860160a085015e5f60a0828501015260a0601f19601f8301168401019150506119d5606083018461191b565b9594505050505056fe9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497019e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e4649700a2646970667358221220ef4643c2fdf5904d46216088aaccd167111e9dc9dd2fd3d3d11a4b728b1cde3364736f6c634300081b0033";
|
|
1108
|
+
"0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161343e6100f95f395f8181611b6b01528181611b940152611cd8015261343e5ff3fe608060405260043610610249575f3560e01c8063852b28db11610134578063c1bf1dcf116100b3578063ca423f5211610078578063ca423f5214610737578063d1e8eba91461076a578063d1f1ff6014610789578063dd4db94f146107c3578063e30c3978146107d7578063f2fde38b146107eb575f5ffd5b8063c1bf1dcf1461069b578063c4d66de8146106ba578063c736a433146106d9578063c7e700a814610704578063c92d0f0314610718575f5ffd5b80639c47338f116100f95780639c47338f146105d8578063ad3cb1cc1461060c578063b3ce9b3d14610649578063b745e8b114610668578063bbde418714610687575f5ffd5b8063852b28db1461051557806389aeca76146105345780638cb83540146105625780638da5cb5b1461058d57806391b49755146105b9575f5ffd5b806355ab78f5116101cb57806379ba50971161019057806379ba5097146104465780637ecebe001461045a57806381ba6ce21461048557806382466ccc146104a457806382b7a48b146104c357806384b0196e146104ee575f5ffd5b806355ab78f5146103cb578063560f3ba4146103ea57806358d2b4a5146103ff5780636d4634ea1461041e578063715018a614610432575f5ffd5b80633c23afba116102115780633c23afba14610320578063488baabf146103665780634f1ef2861461038557806350ee480d1461039857806352d1902d146103b7575f5ffd5b806303e8c1391461024d5780631318fe8714610298578063193bd1ce146102b957806325382b83146102df57806336beb697146102f3575b5f5ffd5b348015610258575f5ffd5b5061027e610267366004612cc1565b60076020525f908152604090205463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156102a3575f5ffd5b506102b76102b2366004612cda565b61080a565b005b3480156102c4575f5ffd5b506102cd600f81565b60405160ff909116815260200161028f565b3480156102ea575f5ffd5b506102cd600281565b3480156102fe575f5ffd5b5061031261030d366004612d8c565b61091d565b60405190815260200161028f565b34801561032b575f5ffd5b5061035661033a366004612cc1565b6001600160a01b03165f90815260046020526040902054151590565b604051901515815260200161028f565b348015610371575f5ffd5b50610312610380366004612db3565b610957565b6102b7610393366004612df8565b610a46565b3480156103a3575f5ffd5b506102cd6103b2366004612ebc565b610a65565b3480156103c2575f5ffd5b50610312610aab565b3480156103d6575f5ffd5b506102b76103e5366004612cc1565b610ac6565b3480156103f5575f5ffd5b5061031260085481565b34801561040a575f5ffd5b50610312610419366004612cc1565b610c16565b348015610429575f5ffd5b506102cd600481565b34801561043d575f5ffd5b506102b7610cae565b348015610451575f5ffd5b506102b7610cc1565b348015610465575f5ffd5b50610312610474366004612cc1565b600a6020525f908152604090205481565b348015610490575f5ffd5b5061031261049f366004612cc1565b610d0e565b3480156104af575f5ffd5b506103126104be366004612cc1565b610da1565b3480156104ce575f5ffd5b506103126104dd366004612cc1565b60066020525f908152604090205481565b3480156104f9575f5ffd5b50610502610e34565b60405161028f9796959493929190612f12565b348015610520575f5ffd5b506102b761052f366004612fa8565b610edd565b34801561053f575f5ffd5b5061035661054e366004612cc1565b60096020525f908152604090205460ff1681565b34801561056d575f5ffd5b5061031261057c366004612cc1565b60056020525f908152604090205481565b348015610598575f5ffd5b506105a1611063565b6040516001600160a01b03909116815260200161028f565b3480156105c4575f5ffd5b506103126105d3366004613000565b611097565b3480156105e3575f5ffd5b506103126105f2366004612cc1565b6001600160a01b03165f9081526006602052604090205490565b348015610617575f5ffd5b5061063c604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161028f9190613028565b348015610654575f5ffd5b50610312610663366004612cc1565b611142565b348015610673575f5ffd5b50610312610682366004612cc1565b6111d5565b348015610692575f5ffd5b506102cd600181565b3480156106a6575f5ffd5b506102b76106b5366004613047565b6112ab565b3480156106c5575f5ffd5b506102b76106d4366004612cc1565b611338565b3480156106e4575f5ffd5b506103126106f3366004612cc1565b60046020525f908152604090205481565b34801561070f575f5ffd5b506102cd600881565b348015610723575f5ffd5b506102b7610732366004612cc1565b6115a7565b348015610742575f5ffd5b506103127ff9d9d50ebaaa414078d4db244db5457cbc9440107058a8da6fc87ec8267587c781565b348015610775575f5ffd5b50610312610784366004612db3565b6115df565b348015610794575f5ffd5b5061027e6107a3366004612cc1565b6001600160a01b03165f9081526007602052604090205463ffffffff1690565b3480156107ce575f5ffd5b506102b761170a565b3480156107e2575f5ffd5b506105a1611713565b3480156107f6575f5ffd5b506102b7610805366004612cc1565b61173b565b335f9081526004602052604090205415610837576040516335d9080560e01b815260040160405180910390fd5b8660c0013542111561085c5760405163068568f360e21b815260040160405180910390fd5b610865876117c0565b610873868686868686611958565b60088054905f61088283613090565b9091555050600854335f90815260046020908152604080832093909355600581528282204290556006905220608088013590556108c560c0880160a089016130a8565b335f81815260076020526040808220805463ffffffff191663ffffffff9590951694909417909355915190917f29056d033e0ed6951611a865e131392e3b35403afc9cdbf70eee3a35c205b6f491a250505050505050565b5f818152600c602052604081205461093481611af0565b61095157604051631a6bd1fd60e01b815260040160405180910390fd5b92915050565b6001600160a01b0382165f90815260046020526040812054839082036109905760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0384165f908152600260205260408120546109ba906109b586611afb565b611b0a565b6040516001600160601b0319606088901b166020820152671b5a5b93195d995b60c21b60348201526001600160f81b031960f887901b16603c8201529091505f90603d015b60408051601f1981840301815291815281516020928301205f818152600c90935291208390559050610a3082611b3f565b50610a3b8233611b4e565b509095945050505050565b610a4e611b60565b610a5782611c04565b610a618282611c0c565b5050565b5f600b5f8484604051602001610a7c9291906130cb565b60408051808303601f190181529181528151602092830120835290820192909252015f205460ff169392505050565b5f610ab4611ccd565b505f5160206133c95f395f51905f5290565b335f818152600460205260408120549003610af45760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b038216610b1b5760405163d92e233d60e01b815260040160405180910390fd5b5f3383604051602001610b2f9291906130cb565b60408051601f1981840301815291815281516020928301205f818152600b8452828120805460ff1916600f17905533815292839052912054909150610b749084611b4e565b50335f90815260016020526040902054610b8e9084611b4e565b50335f90815260026020526040902054610ba89084611b4e565b50335f90815260036020526040902054610bc29084611b4e565b50826001600160a01b0316336001600160a01b03167f30ab1425cac82b8f27b8ae1715d03d131df0d8bb590edb534927b641d5eea33f600f5f604051610c09929190613101565b60405180910390a3505050565b6001600160a01b0381165f9081526004602052604081205482908203610c4f5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f90815260036020526040902054610c7090611af0565b610c8d57604051631a6bd1fd60e01b815260040160405180910390fd5b6001600160a01b0383165f9081526003602052604090205491505b50919050565b610cb6611d16565b610cbf5f611d48565b565b3380610ccb611713565b6001600160a01b031614610d025760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b610d0b81611d48565b50565b6001600160a01b0381165f9081526004602052604081205482908203610d475760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f90815260016020526040902054610d6890611af0565b610d8557604051631a6bd1fd60e01b815260040160405180910390fd5b50506001600160a01b03165f9081526001602052604090205490565b6001600160a01b0381165f9081526004602052604081205482908203610dda5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f90815260026020526040902054610dfb90611af0565b610e1857604051631a6bd1fd60e01b815260040160405180910390fd5b50506001600160a01b03165f9081526002602052604090205490565b5f60608082808083815f5160206133a95f395f51905f528054909150158015610e5f57506001810154155b610ea35760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610cf9565b610eab611d80565b610eb3611e40565b604080515f80825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b335f818152600460205260408120549003610f0b5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b038416610f325760405163d92e233d60e01b815260040160405180910390fd5b5f3385604051602001610f469291906130cb565b60408051601f1981840301815291815281516020928301205f818152600b9093529120805460ff8088169082161760ff1990911617905590506001841615610fa357335f90815260208190526040902054610fa19086611b4e565b505b6002841615610fc757335f90815260016020526040902054610fc59086611b4e565b505b6004841615610feb57335f90815260026020526040902054610fe99086611b4e565b505b600884161561100f57335f9081526003602052604090205461100d9086611b4e565b505b846001600160a01b0316336001600160a01b03167f30ab1425cac82b8f27b8ae1715d03d131df0d8bb590edb534927b641d5eea33f8686604051611054929190613101565b60405180910390a35050505050565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b6001600160a01b0382165f90815260046020526040812054839082036110d05760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0384165f908152600160205260408120546110fa906110f586611e7e565b611e8e565b6040516001600160601b0319606088901b16602082015266636f756e74727960c81b60348201526001600160f01b031960f087901b16603b8201529091505f90603d016109ff565b6001600160a01b0381165f908152600460205260408120548290820361117b5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f9081526020819052604090205461119c90611af0565b6111b957604051631a6bd1fd60e01b815260040160405180910390fd5b50506001600160a01b03165f9081526020819052604090205490565b6001600160a01b0381165f908152600460205260408120548290820361120e5760405163099efb8960e41b815260040160405180910390fd5b6001600160a01b0383165f9081526003602052604081205461122f90611ebc565b6040516001600160601b0319606087901b1660208201526d1b9bdd109b1858dadb1a5cdd195960921b60348201529091505f9060420160408051601f1981840301815291815281516020928301205f818152600c9093529120839055905061129682611b3f565b506112a18233611b4e565b5090949350505050565b6112b3611d16565b6001600160a01b0382166112da5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382165f81815260096020908152604091829020805460ff191685151590811790915591519182527faa29e9c7319872059973646686bcb05675a1351529119ca980b4ad90e73d7264910160405180910390a25050565b5f611341611ec6565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156113685750825b90505f8267ffffffffffffffff1660011480156113845750303b155b905081158015611392575080155b156113b05760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156113da57845460ff60401b1916600160401b1785555b6001600160a01b0386166114015760405163d92e233d60e01b815260040160405180910390fd5b611409611eee565b611411611eee565b61141a86611ef6565b6114726040518060400160405280601781526020017f5a656e746974794964656e746974795265676973747279000000000000000000815250604051806040016040528060018152602001601960f91b815250611f07565b61150061147d611f19565b80515f5160206133e95f395f51905f5280546001600160a01b03199081166001600160a01b039384161790915560208301515f5160206133895f395f51905f528054831691841691909117905560408301517f9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e46497028054909216921691909117905550565b6001600160a01b0386165f81815260096020908152604091829020805460ff1916600190811790915591519182527faa29e9c7319872059973646686bcb05675a1351529119ca980b4ad90e73d7264910160405180910390a2831561159f57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b335f9081526009602052604090205460ff166115d657604051632fed761f60e01b815260040160405180910390fd5b610d0b8161208d565b6001600160a01b0382165f90815260046020526040812054839082036116185760405163099efb8960e41b815260040160405180910390fd5b5f61162284611afb565b6001600160a01b0386165f90815260026020526040812054919250906116489083611b0a565b6001600160a01b0387165f908152600360205260408120549192509061166d90611ebc565b90505f61167a83836121b1565b6040516001600160601b031960608b901b16602082015269636f6d706c69616e636560b01b60348201526001600160f81b031960f88a901b16603e8201529091505f90603f0160408051601f1981840301815291815281516020928301205f818152600c909352912083905590506116f182611b3f565b506116fc8233611b4e565b509098975050505050505050565b610cbf3361208d565b5f807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00611087565b611743611d16565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255611787611063565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b335f818152600a60209081526040822054927ff9d9d50ebaaa414078d4db244db5457cbc9440107058a8da6fc87ec8267587c79161180090860186613128565b6118106040870160208801613141565b6118206060880160408901613128565b6118306080890160608a0161315a565b608089013561184560c08b0160a08c016130a8565b6040805160208101999099526001600160a01b039097169688019690965260ff948516606088015261ffff9093166080870152921660a085015290151560c08481019190915260e084019190915263ffffffff9091166101008301526101208201849052840135610140820152610160016040516020818303038152906040528051906020012090505f6118fd6118db836121df565b6118ec610100870160e08801613128565b86610100013587610120013561220b565b6001600160a01b0381165f9081526009602052604090205490915060ff166119385760405163ddafbaef60e01b815260040160405180910390fd5b611943836001613175565b335f908152600a602052604090205550505050565b5f6119988784848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061223792505050565b90505f6119da8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061224492505050565b90505f611a1c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061223792505050565b90505f611a5e8787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061225192505050565b335f908152602081815260408083208890556001825280832087905560028252808320869055600390915290208190559050611a9984611b3f565b50611aa383611b3f565b50611aad82611b3f565b50611ab781611b3f565b50611ac28433611b4e565b50611acd8333611b4e565b50611ad88233611b4e565b50611ae38133611b4e565b5050505050505050505050565b5f610951823361225d565b5f6109518260ff1660026122e9565b5f82611b1c57611b195f611afb565b92505b81611b2d57611b2a5f611afb565b91505b611b3883835f612378565b9392505050565b5f611b4a8230612425565b5090565b5f611b598383612425565b5090919050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611be657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611bda5f5160206133c95f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15610cbf5760405163703e46dd60e11b815260040160405180910390fd5b610d0b611d16565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c66575060408051601f3d908101601f19168201909252611c6391810190613188565b60015b611c8e57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610cf9565b5f5160206133c95f395f51905f528114611cbe57604051632a87526960e21b815260048101829052602401610cf9565b611cc8838361249b565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cbf5760405163703e46dd60e11b815260040160405180910390fd5b33611d1f611063565b6001600160a01b031614610cbf5760405163118cdaa760e01b8152336004820152602401610cf9565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319168155610a61826124f0565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060915f5160206133a95f395f51905f5291611dbe9061319f565b80601f0160208091040260200160405190810160405280929190818152602001828054611dea9061319f565b8015611e355780601f10611e0c57610100808354040283529160200191611e35565b820191905f5260205f20905b815481529060010190602001808311611e1857829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060915f5160206133a95f395f51905f5291611dbe9061319f565b5f6109518261ffff1660036122e9565b5f82611ea057611e9d5f611e7e565b92505b81611eb157611eae5f611e7e565b91505b611b3883835f612560565b5f610951826125c3565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610951565b610cbf612642565b611efe612642565b610d0b81612667565b611f0f612642565b610a618282612698565b604080516060810182525f808252602082018190529181019190915246600103611f77575060408051606080820183525f8083526020808401829052928401819052835191820184528082529181018290529182015290565b905090565b4662aa36a703611ff6575060408051606080820183525f8083526020808401829052928401528251908101835273f0ffdc93b7e186bc2f8cb3daa75d86d1930a433d81527392c920834ec8941d2c77d188936e1f7a6f49c1279181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b46617a6903612074575060408051606080820183525f808352602080840182905292840152825190810183527350157cffd6bbfa2dece204a89ec419c23ef5755d815273e3a9105a3a932253a70f126eb1e3b589c643dd249181019190915273be0e383937d564d7ff0bc3b46c51f0bf8d5c311a9181019190915290565b6040516373cac13b60e01b815260040160405180910390fd5b6001600160a01b0381165f9081526004602052604081205490036120c45760405163099efb8960e41b815260040160405180910390fd5b6120cd5f611afb565b6001600160a01b0382165f908152602081905260408120919091556120f190611e7e565b6001600160a01b0382165f9081526001602052604081209190915561211590611afb565b6001600160a01b0382165f90815260026020526040812091909155612139906126f7565b6001600160a01b0382165f8181526003602090815260408083209490945560048152838220829055600581528382208290556006815283822082905560079052828120805463ffffffff19169055915190917fccf550e579fbeb7d56da9a0175f8d4526535cab139e73b592516f1916d4075dd91a250565b5f826121c3576121c05f6126f7565b92505b816121d4576121d15f6126f7565b91505b611b3883835f612712565b5f6109516121eb612775565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f61221b8888888861277e565b92509250925061222b8282612846565b50909695505050505050565b5f611b38838360026128fe565b5f611b38838360036128fe565b5f611b3883835f6128fe565b5f805f5160206133e95f395f51905f5280546040516382027b6d60e01b8152600481018790526001600160a01b0386811660248301529293509116906382027b6d90604401602060405180830381865afa1580156122bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e191906131d1565b949350505050565b5f5160206133895f395f51905f5254604051639cd07acb60e01b81525f915f5160206133e95f395f51905f52916001600160a01b0390911690639cd07acb906123389087908790600401613200565b6020604051808303815f875af1158015612354573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e19190613188565b5f5f821561238b5750600160f81b61238e565b505f5b5f5160206133895f395f51905f5254604051631391547f60e01b81525f5160206133e95f395f51905f52916001600160a01b031690631391547f906123db90899089908790600401613214565b6020604051808303815f875af11580156123f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061241b9190613188565b9695505050505050565b5f5f5160206133e95f395f51905f528054604051635ca4b5b160e11b8152600481018690526001600160a01b03858116602483015292935091169063b9496b62906044015f604051808303815f87803b158015612480575f5ffd5b505af1158015612492573d5f5f3e3d5ffd5b50505050505050565b6124a4826129f8565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156124e857611cc88282612a5b565b610a61612acd565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f5f82156125735750600160f81b612576565b505f5b5f5160206133895f395f51905f525460405163f77f3f1d60e01b81525f5160206133e95f395f51905f52916001600160a01b03169063f77f3f1d906123db90899089908790600401613214565b5f805f5160206133e95f395f51905f526001810154604051630f51ccfb60e41b8152600481018690529192506001600160a01b03169063f51ccfb0906024016020604051808303815f875af115801561261e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b389190613188565b61264a612aec565b610cbf57604051631afcd79f60e31b815260040160405180910390fd5b61266f612642565b6001600160a01b038116610d0257604051631e4fbdf760e01b81525f6004820152602401610cf9565b6126a0612642565b5f5160206133a95f395f51905f527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1026126d9848261327f565b50600381016126e8838261327f565b505f8082556001909101555050565b5f61095182612706575f612709565b60015b60ff165f6122e9565b5f5f82156127255750600160f81b612728565b505f5b5f5160206133895f395f51905f525460405163d99882d560e01b81525f5160206133e95f395f51905f52916001600160a01b03169063d99882d5906123db90899089908790600401613214565b5f611f72612b05565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156127b757505f9150600390508261283c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612808573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661283357505f92506001915082905061283c565b92505f91508190505b9450945094915050565b5f826003811115612859576128596130ed565b03612862575050565b6001826003811115612876576128766130ed565b036128945760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156128a8576128a86130ed565b036128c95760405163fce698f760e01b815260048101829052602401610cf9565b60038260038111156128dd576128dd6130ed565b03610a61576040516335e2f38360e21b815260048101829052602401610cf9565b5f5160206133895f395f51905f525460405163045fc19560e11b81525f915f5160206133e95f395f51905f52916001600160a01b03909116906308bf832a9061295190889033908990899060040161333a565b6020604051808303815f875af115801561296d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129919190613188565b8154604051630f8e573b60e21b8152600481018390523360248201529193506001600160a01b031690633e395cec906044015f604051808303815f87803b1580156129da575f5ffd5b505af11580156129ec573d5f5f3e3d5ffd5b50505050509392505050565b806001600160a01b03163b5f03612a2d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610cf9565b5f5160206133c95f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051612a779190613372565b5f60405180830381855af49150503d805f8114612aaf576040519150601f19603f3d011682016040523d82523d5f602084013e612ab4565b606091505b5091509150612ac4858383612b78565b95945050505050565b3415610cbf5760405163b398979f60e01b815260040160405180910390fd5b5f612af5611ec6565b54600160401b900460ff16919050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612b2f612bd4565b612b37612c3c565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b606082612b8d57612b8882612c7e565b611b38565b8151158015612ba457506001600160a01b0384163b155b15612bcd57604051639996b31560e01b81526001600160a01b0385166004820152602401610cf9565b5092915050565b5f5f5160206133a95f395f51905f5281612bec611d80565b805190915015612c0457805160209091012092915050565b81548015612c13579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b5f5f5160206133a95f395f51905f5281612c54611e40565b805190915015612c6c57805160209091012092915050565b60018201548015612c13579392505050565b805115612c8d57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b0381168114612cbc575f5ffd5b919050565b5f60208284031215612cd1575f5ffd5b611b3882612ca6565b5f5f5f5f5f5f5f8789036101e0811215612cf2575f5ffd5b610140811215612d00575f5ffd5b508796506101408701359550610160870135945061018087013593506101a087013592506101c087013567ffffffffffffffff811115612d3e575f5ffd5b8801601f81018a13612d4e575f5ffd5b803567ffffffffffffffff811115612d64575f5ffd5b8a6020828401011115612d75575f5ffd5b602082019350809250505092959891949750929550565b5f60208284031215612d9c575f5ffd5b5035919050565b803560ff81168114612cbc575f5ffd5b5f5f60408385031215612dc4575f5ffd5b612dcd83612ca6565b9150612ddb60208401612da3565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215612e09575f5ffd5b612e1283612ca6565b9150602083013567ffffffffffffffff811115612e2d575f5ffd5b8301601f81018513612e3d575f5ffd5b803567ffffffffffffffff811115612e5757612e57612de4565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715612e8657612e86612de4565b604052818152828201602001871015612e9d575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f60408385031215612ecd575f5ffd5b612ed683612ca6565b9150612ddb60208401612ca6565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b8816815260e060208201525f612f3060e0830189612ee4565b8281036040840152612f428189612ee4565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015612f97578351835260209384019390920191600101612f79565b50909b9a5050505050505050505050565b5f5f5f60608486031215612fba575f5ffd5b612fc384612ca6565b9250612fd160208501612da3565b9150604084013560058110612fe4575f5ffd5b809150509250925092565b803561ffff81168114612cbc575f5ffd5b5f5f60408385031215613011575f5ffd5b61301a83612ca6565b9150612ddb60208401612fef565b602081525f611b386020830184612ee4565b8015158114610d0b575f5ffd5b5f5f60408385031215613058575f5ffd5b61306183612ca6565b915060208301356130718161303a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016130a1576130a161307c565b5060010190565b5f602082840312156130b8575f5ffd5b813563ffffffff81168114611b38575f5ffd5b6001600160601b0319606093841b811682529190921b16601482015260280190565b634e487b7160e01b5f52602160045260245ffd5b60ff83168152604081016005831061311b5761311b6130ed565b8260208301529392505050565b5f60208284031215613138575f5ffd5b611b3882612da3565b5f60208284031215613151575f5ffd5b611b3882612fef565b5f6020828403121561316a575f5ffd5b8135611b388161303a565b808201808211156109515761095161307c565b5f60208284031215613198575f5ffd5b5051919050565b600181811c908216806131b357607f821691505b602082108103610ca857634e487b7160e01b5f52602260045260245ffd5b5f602082840312156131e1575f5ffd5b8151611b388161303a565b605481106131fc576131fc6130ed565b9052565b82815260408101611b3860208301846131ec565b92835260208301919091526001600160f81b031916604082015260600190565b601f821115611cc857805f5260205f20601f840160051c810160208510156132595750805b601f840160051c820191505b81811015613278575f8155600101613265565b5050505050565b815167ffffffffffffffff81111561329957613299612de4565b6132ad816132a7845461319f565b84613234565b6020601f8211600181146132df575f83156132c85750848201515b5f19600385901b1c1916600184901b178455613278565b5f84815260208120601f198516915b8281101561330e57878501518255602094850194600190920191016132ee565b508482101561332b57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8481526001600160a01b03841660208201526080604082018190525f9061336390830185612ee4565b9050612ac460608301846131ec565b5f82518060208501845e5f92019182525091905056fe9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e4649701a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9e7b61f58c47dc699ac88507c4f5bb9f121c03808c5676a8078fe583e4649700a264697066735822122094475916a1ab25808f56cacbbb56992fe9b84a488c4edf582fe71c81b19194c364736f6c634300081b0033";
|
|
732
1109
|
|
|
733
1110
|
type IdentityRegistryConstructorParams =
|
|
734
1111
|
| [signer?: Signer]
|