@cofhe/mock-contracts 0.0.0-alpha-20260409113701
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/CHANGELOG.md +86 -0
- package/README.md +180 -0
- package/contracts/ABITest.sol +99 -0
- package/contracts/MockACL.sol +342 -0
- package/contracts/MockCoFHE.sol +444 -0
- package/contracts/MockTaskManager.sol +676 -0
- package/contracts/MockThresholdNetwork.sol +199 -0
- package/contracts/MockZkVerifier.sol +140 -0
- package/contracts/Permissioned.sol +213 -0
- package/contracts/TestBed.sol +98 -0
- package/dist/index.d.mts +3193 -0
- package/dist/index.d.ts +3193 -0
- package/dist/index.js +2864 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2858 -0
- package/dist/index.mjs.map +1 -0
- package/foundry.toml +10 -0
- package/package.json +65 -0
- package/remappings.txt +5 -0
- package/src/MockACL.ts +620 -0
- package/src/MockTaskManager.ts +1211 -0
- package/src/MockThresholdNetwork.ts +457 -0
- package/src/MockZkVerifier.ts +266 -0
- package/src/TestBed.ts +311 -0
- package/src/index.ts +7 -0
- package/src/typechain-types/MockACL.ts +382 -0
- package/src/typechain-types/MockTaskManager.ts +565 -0
- package/src/typechain-types/MockThresholdNetwork.ts +247 -0
- package/src/typechain-types/MockZkVerifier.ts +205 -0
- package/src/typechain-types/TestBed.ts +172 -0
- package/src/typechain-types/common.ts +92 -0
- package/src/typechain-types/index.ts +8 -0
- package/src/types.ts +14 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,3193 @@
|
|
|
1
|
+
import { DeferredTopicFilter, EventFragment, EventLog, TransactionRequest, Typed, ContractTransactionResponse, FunctionFragment, ContractTransaction, LogDescription, BaseContract, ContractRunner, Interface, BigNumberish, AddressLike, BytesLike, Result, Listener, ContractMethod } from 'ethers';
|
|
2
|
+
|
|
3
|
+
type MockArtifact = {
|
|
4
|
+
contractName: string;
|
|
5
|
+
abi: any;
|
|
6
|
+
} & ({
|
|
7
|
+
isFixed: true;
|
|
8
|
+
fixedAddress: string;
|
|
9
|
+
deployedBytecode: string;
|
|
10
|
+
} | {
|
|
11
|
+
isFixed: false;
|
|
12
|
+
bytecode: string;
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
declare const MockTaskManagerArtifact: {
|
|
16
|
+
readonly contractName: "MockTaskManager";
|
|
17
|
+
readonly isFixed: true;
|
|
18
|
+
readonly fixedAddress: "0xeA30c4B8b44078Bbf8a6ef5b9f1eC1626C7848D9";
|
|
19
|
+
readonly abi: readonly [{
|
|
20
|
+
readonly type: "constructor";
|
|
21
|
+
readonly inputs: readonly [];
|
|
22
|
+
readonly stateMutability: "nonpayable";
|
|
23
|
+
}, {
|
|
24
|
+
readonly type: "function";
|
|
25
|
+
readonly name: "MOCK_logAllow";
|
|
26
|
+
readonly inputs: readonly [{
|
|
27
|
+
readonly name: "operation";
|
|
28
|
+
readonly type: "string";
|
|
29
|
+
readonly internalType: "string";
|
|
30
|
+
}, {
|
|
31
|
+
readonly name: "ctHash";
|
|
32
|
+
readonly type: "uint256";
|
|
33
|
+
readonly internalType: "uint256";
|
|
34
|
+
}, {
|
|
35
|
+
readonly name: "account";
|
|
36
|
+
readonly type: "address";
|
|
37
|
+
readonly internalType: "address";
|
|
38
|
+
}];
|
|
39
|
+
readonly outputs: readonly [];
|
|
40
|
+
readonly stateMutability: "view";
|
|
41
|
+
}, {
|
|
42
|
+
readonly type: "function";
|
|
43
|
+
readonly name: "MOCK_setInEuintKey";
|
|
44
|
+
readonly inputs: readonly [{
|
|
45
|
+
readonly name: "ctHash";
|
|
46
|
+
readonly type: "uint256";
|
|
47
|
+
readonly internalType: "uint256";
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "value";
|
|
50
|
+
readonly type: "uint256";
|
|
51
|
+
readonly internalType: "uint256";
|
|
52
|
+
}];
|
|
53
|
+
readonly outputs: readonly [];
|
|
54
|
+
readonly stateMutability: "nonpayable";
|
|
55
|
+
}, {
|
|
56
|
+
readonly type: "function";
|
|
57
|
+
readonly name: "acl";
|
|
58
|
+
readonly inputs: readonly [];
|
|
59
|
+
readonly outputs: readonly [{
|
|
60
|
+
readonly name: "";
|
|
61
|
+
readonly type: "address";
|
|
62
|
+
readonly internalType: "contract MockACL";
|
|
63
|
+
}];
|
|
64
|
+
readonly stateMutability: "view";
|
|
65
|
+
}, {
|
|
66
|
+
readonly type: "function";
|
|
67
|
+
readonly name: "aggregator";
|
|
68
|
+
readonly inputs: readonly [];
|
|
69
|
+
readonly outputs: readonly [{
|
|
70
|
+
readonly name: "";
|
|
71
|
+
readonly type: "address";
|
|
72
|
+
readonly internalType: "address";
|
|
73
|
+
}];
|
|
74
|
+
readonly stateMutability: "view";
|
|
75
|
+
}, {
|
|
76
|
+
readonly type: "function";
|
|
77
|
+
readonly name: "allow";
|
|
78
|
+
readonly inputs: readonly [{
|
|
79
|
+
readonly name: "ctHash";
|
|
80
|
+
readonly type: "uint256";
|
|
81
|
+
readonly internalType: "uint256";
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "account";
|
|
84
|
+
readonly type: "address";
|
|
85
|
+
readonly internalType: "address";
|
|
86
|
+
}];
|
|
87
|
+
readonly outputs: readonly [];
|
|
88
|
+
readonly stateMutability: "nonpayable";
|
|
89
|
+
}, {
|
|
90
|
+
readonly type: "function";
|
|
91
|
+
readonly name: "allowForDecryption";
|
|
92
|
+
readonly inputs: readonly [{
|
|
93
|
+
readonly name: "ctHash";
|
|
94
|
+
readonly type: "uint256";
|
|
95
|
+
readonly internalType: "uint256";
|
|
96
|
+
}];
|
|
97
|
+
readonly outputs: readonly [];
|
|
98
|
+
readonly stateMutability: "nonpayable";
|
|
99
|
+
}, {
|
|
100
|
+
readonly type: "function";
|
|
101
|
+
readonly name: "allowGlobal";
|
|
102
|
+
readonly inputs: readonly [{
|
|
103
|
+
readonly name: "ctHash";
|
|
104
|
+
readonly type: "uint256";
|
|
105
|
+
readonly internalType: "uint256";
|
|
106
|
+
}];
|
|
107
|
+
readonly outputs: readonly [];
|
|
108
|
+
readonly stateMutability: "nonpayable";
|
|
109
|
+
}, {
|
|
110
|
+
readonly type: "function";
|
|
111
|
+
readonly name: "allowTransient";
|
|
112
|
+
readonly inputs: readonly [{
|
|
113
|
+
readonly name: "ctHash";
|
|
114
|
+
readonly type: "uint256";
|
|
115
|
+
readonly internalType: "uint256";
|
|
116
|
+
}, {
|
|
117
|
+
readonly name: "account";
|
|
118
|
+
readonly type: "address";
|
|
119
|
+
readonly internalType: "address";
|
|
120
|
+
}];
|
|
121
|
+
readonly outputs: readonly [];
|
|
122
|
+
readonly stateMutability: "nonpayable";
|
|
123
|
+
}, {
|
|
124
|
+
readonly type: "function";
|
|
125
|
+
readonly name: "createDecryptTask";
|
|
126
|
+
readonly inputs: readonly [{
|
|
127
|
+
readonly name: "ctHash";
|
|
128
|
+
readonly type: "uint256";
|
|
129
|
+
readonly internalType: "uint256";
|
|
130
|
+
}, {
|
|
131
|
+
readonly name: "";
|
|
132
|
+
readonly type: "address";
|
|
133
|
+
readonly internalType: "address";
|
|
134
|
+
}];
|
|
135
|
+
readonly outputs: readonly [];
|
|
136
|
+
readonly stateMutability: "nonpayable";
|
|
137
|
+
}, {
|
|
138
|
+
readonly type: "function";
|
|
139
|
+
readonly name: "createRandomTask";
|
|
140
|
+
readonly inputs: readonly [{
|
|
141
|
+
readonly name: "returnType";
|
|
142
|
+
readonly type: "uint8";
|
|
143
|
+
readonly internalType: "uint8";
|
|
144
|
+
}, {
|
|
145
|
+
readonly name: "seed";
|
|
146
|
+
readonly type: "uint256";
|
|
147
|
+
readonly internalType: "uint256";
|
|
148
|
+
}, {
|
|
149
|
+
readonly name: "securityZone";
|
|
150
|
+
readonly type: "int32";
|
|
151
|
+
readonly internalType: "int32";
|
|
152
|
+
}];
|
|
153
|
+
readonly outputs: readonly [{
|
|
154
|
+
readonly name: "";
|
|
155
|
+
readonly type: "uint256";
|
|
156
|
+
readonly internalType: "uint256";
|
|
157
|
+
}];
|
|
158
|
+
readonly stateMutability: "nonpayable";
|
|
159
|
+
}, {
|
|
160
|
+
readonly type: "function";
|
|
161
|
+
readonly name: "createTask";
|
|
162
|
+
readonly inputs: readonly [{
|
|
163
|
+
readonly name: "returnType";
|
|
164
|
+
readonly type: "uint8";
|
|
165
|
+
readonly internalType: "uint8";
|
|
166
|
+
}, {
|
|
167
|
+
readonly name: "funcId";
|
|
168
|
+
readonly type: "uint8";
|
|
169
|
+
readonly internalType: "enum FunctionId";
|
|
170
|
+
}, {
|
|
171
|
+
readonly name: "encryptedHashes";
|
|
172
|
+
readonly type: "uint256[]";
|
|
173
|
+
readonly internalType: "uint256[]";
|
|
174
|
+
}, {
|
|
175
|
+
readonly name: "extraInputs";
|
|
176
|
+
readonly type: "uint256[]";
|
|
177
|
+
readonly internalType: "uint256[]";
|
|
178
|
+
}];
|
|
179
|
+
readonly outputs: readonly [{
|
|
180
|
+
readonly name: "";
|
|
181
|
+
readonly type: "uint256";
|
|
182
|
+
readonly internalType: "uint256";
|
|
183
|
+
}];
|
|
184
|
+
readonly stateMutability: "nonpayable";
|
|
185
|
+
}, {
|
|
186
|
+
readonly type: "function";
|
|
187
|
+
readonly name: "decryptResultSigner";
|
|
188
|
+
readonly inputs: readonly [];
|
|
189
|
+
readonly outputs: readonly [{
|
|
190
|
+
readonly name: "";
|
|
191
|
+
readonly type: "address";
|
|
192
|
+
readonly internalType: "address";
|
|
193
|
+
}];
|
|
194
|
+
readonly stateMutability: "view";
|
|
195
|
+
}, {
|
|
196
|
+
readonly type: "function";
|
|
197
|
+
readonly name: "exists";
|
|
198
|
+
readonly inputs: readonly [];
|
|
199
|
+
readonly outputs: readonly [{
|
|
200
|
+
readonly name: "";
|
|
201
|
+
readonly type: "bool";
|
|
202
|
+
readonly internalType: "bool";
|
|
203
|
+
}];
|
|
204
|
+
readonly stateMutability: "pure";
|
|
205
|
+
}, {
|
|
206
|
+
readonly type: "function";
|
|
207
|
+
readonly name: "getDecryptResult";
|
|
208
|
+
readonly inputs: readonly [{
|
|
209
|
+
readonly name: "ctHash";
|
|
210
|
+
readonly type: "uint256";
|
|
211
|
+
readonly internalType: "uint256";
|
|
212
|
+
}];
|
|
213
|
+
readonly outputs: readonly [{
|
|
214
|
+
readonly name: "";
|
|
215
|
+
readonly type: "uint256";
|
|
216
|
+
readonly internalType: "uint256";
|
|
217
|
+
}];
|
|
218
|
+
readonly stateMutability: "view";
|
|
219
|
+
}, {
|
|
220
|
+
readonly type: "function";
|
|
221
|
+
readonly name: "getDecryptResultSafe";
|
|
222
|
+
readonly inputs: readonly [{
|
|
223
|
+
readonly name: "ctHash";
|
|
224
|
+
readonly type: "uint256";
|
|
225
|
+
readonly internalType: "uint256";
|
|
226
|
+
}];
|
|
227
|
+
readonly outputs: readonly [{
|
|
228
|
+
readonly name: "result";
|
|
229
|
+
readonly type: "uint256";
|
|
230
|
+
readonly internalType: "uint256";
|
|
231
|
+
}, {
|
|
232
|
+
readonly name: "decrypted";
|
|
233
|
+
readonly type: "bool";
|
|
234
|
+
readonly internalType: "bool";
|
|
235
|
+
}];
|
|
236
|
+
readonly stateMutability: "view";
|
|
237
|
+
}, {
|
|
238
|
+
readonly type: "function";
|
|
239
|
+
readonly name: "handleDecryptResult";
|
|
240
|
+
readonly inputs: readonly [{
|
|
241
|
+
readonly name: "ctHash";
|
|
242
|
+
readonly type: "uint256";
|
|
243
|
+
readonly internalType: "uint256";
|
|
244
|
+
}, {
|
|
245
|
+
readonly name: "result";
|
|
246
|
+
readonly type: "uint256";
|
|
247
|
+
readonly internalType: "uint256";
|
|
248
|
+
}, {
|
|
249
|
+
readonly name: "";
|
|
250
|
+
readonly type: "address[]";
|
|
251
|
+
readonly internalType: "address[]";
|
|
252
|
+
}];
|
|
253
|
+
readonly outputs: readonly [];
|
|
254
|
+
readonly stateMutability: "nonpayable";
|
|
255
|
+
}, {
|
|
256
|
+
readonly type: "function";
|
|
257
|
+
readonly name: "handleError";
|
|
258
|
+
readonly inputs: readonly [{
|
|
259
|
+
readonly name: "ctHash";
|
|
260
|
+
readonly type: "uint256";
|
|
261
|
+
readonly internalType: "uint256";
|
|
262
|
+
}, {
|
|
263
|
+
readonly name: "operation";
|
|
264
|
+
readonly type: "string";
|
|
265
|
+
readonly internalType: "string";
|
|
266
|
+
}, {
|
|
267
|
+
readonly name: "errorMessage";
|
|
268
|
+
readonly type: "string";
|
|
269
|
+
readonly internalType: "string";
|
|
270
|
+
}];
|
|
271
|
+
readonly outputs: readonly [];
|
|
272
|
+
readonly stateMutability: "nonpayable";
|
|
273
|
+
}, {
|
|
274
|
+
readonly type: "function";
|
|
275
|
+
readonly name: "inMockStorage";
|
|
276
|
+
readonly inputs: readonly [{
|
|
277
|
+
readonly name: "";
|
|
278
|
+
readonly type: "uint256";
|
|
279
|
+
readonly internalType: "uint256";
|
|
280
|
+
}];
|
|
281
|
+
readonly outputs: readonly [{
|
|
282
|
+
readonly name: "";
|
|
283
|
+
readonly type: "bool";
|
|
284
|
+
readonly internalType: "bool";
|
|
285
|
+
}];
|
|
286
|
+
readonly stateMutability: "view";
|
|
287
|
+
}, {
|
|
288
|
+
readonly type: "function";
|
|
289
|
+
readonly name: "initialize";
|
|
290
|
+
readonly inputs: readonly [{
|
|
291
|
+
readonly name: "initialOwner";
|
|
292
|
+
readonly type: "address";
|
|
293
|
+
readonly internalType: "address";
|
|
294
|
+
}];
|
|
295
|
+
readonly outputs: readonly [];
|
|
296
|
+
readonly stateMutability: "nonpayable";
|
|
297
|
+
}, {
|
|
298
|
+
readonly type: "function";
|
|
299
|
+
readonly name: "isAllowed";
|
|
300
|
+
readonly inputs: readonly [{
|
|
301
|
+
readonly name: "ctHash";
|
|
302
|
+
readonly type: "uint256";
|
|
303
|
+
readonly internalType: "uint256";
|
|
304
|
+
}, {
|
|
305
|
+
readonly name: "account";
|
|
306
|
+
readonly type: "address";
|
|
307
|
+
readonly internalType: "address";
|
|
308
|
+
}];
|
|
309
|
+
readonly outputs: readonly [{
|
|
310
|
+
readonly name: "";
|
|
311
|
+
readonly type: "bool";
|
|
312
|
+
readonly internalType: "bool";
|
|
313
|
+
}];
|
|
314
|
+
readonly stateMutability: "view";
|
|
315
|
+
}, {
|
|
316
|
+
readonly type: "function";
|
|
317
|
+
readonly name: "isAllowedWithPermission";
|
|
318
|
+
readonly inputs: readonly [{
|
|
319
|
+
readonly name: "permission";
|
|
320
|
+
readonly type: "tuple";
|
|
321
|
+
readonly internalType: "struct Permission";
|
|
322
|
+
readonly components: readonly [{
|
|
323
|
+
readonly name: "issuer";
|
|
324
|
+
readonly type: "address";
|
|
325
|
+
readonly internalType: "address";
|
|
326
|
+
}, {
|
|
327
|
+
readonly name: "expiration";
|
|
328
|
+
readonly type: "uint64";
|
|
329
|
+
readonly internalType: "uint64";
|
|
330
|
+
}, {
|
|
331
|
+
readonly name: "recipient";
|
|
332
|
+
readonly type: "address";
|
|
333
|
+
readonly internalType: "address";
|
|
334
|
+
}, {
|
|
335
|
+
readonly name: "validatorId";
|
|
336
|
+
readonly type: "uint256";
|
|
337
|
+
readonly internalType: "uint256";
|
|
338
|
+
}, {
|
|
339
|
+
readonly name: "validatorContract";
|
|
340
|
+
readonly type: "address";
|
|
341
|
+
readonly internalType: "address";
|
|
342
|
+
}, {
|
|
343
|
+
readonly name: "sealingKey";
|
|
344
|
+
readonly type: "bytes32";
|
|
345
|
+
readonly internalType: "bytes32";
|
|
346
|
+
}, {
|
|
347
|
+
readonly name: "issuerSignature";
|
|
348
|
+
readonly type: "bytes";
|
|
349
|
+
readonly internalType: "bytes";
|
|
350
|
+
}, {
|
|
351
|
+
readonly name: "recipientSignature";
|
|
352
|
+
readonly type: "bytes";
|
|
353
|
+
readonly internalType: "bytes";
|
|
354
|
+
}];
|
|
355
|
+
}, {
|
|
356
|
+
readonly name: "handle";
|
|
357
|
+
readonly type: "uint256";
|
|
358
|
+
readonly internalType: "uint256";
|
|
359
|
+
}];
|
|
360
|
+
readonly outputs: readonly [{
|
|
361
|
+
readonly name: "";
|
|
362
|
+
readonly type: "bool";
|
|
363
|
+
readonly internalType: "bool";
|
|
364
|
+
}];
|
|
365
|
+
readonly stateMutability: "view";
|
|
366
|
+
}, {
|
|
367
|
+
readonly type: "function";
|
|
368
|
+
readonly name: "isInitialized";
|
|
369
|
+
readonly inputs: readonly [];
|
|
370
|
+
readonly outputs: readonly [{
|
|
371
|
+
readonly name: "";
|
|
372
|
+
readonly type: "bool";
|
|
373
|
+
readonly internalType: "bool";
|
|
374
|
+
}];
|
|
375
|
+
readonly stateMutability: "view";
|
|
376
|
+
}, {
|
|
377
|
+
readonly type: "function";
|
|
378
|
+
readonly name: "isPubliclyAllowed";
|
|
379
|
+
readonly inputs: readonly [{
|
|
380
|
+
readonly name: "ctHash";
|
|
381
|
+
readonly type: "uint256";
|
|
382
|
+
readonly internalType: "uint256";
|
|
383
|
+
}];
|
|
384
|
+
readonly outputs: readonly [{
|
|
385
|
+
readonly name: "";
|
|
386
|
+
readonly type: "bool";
|
|
387
|
+
readonly internalType: "bool";
|
|
388
|
+
}];
|
|
389
|
+
readonly stateMutability: "view";
|
|
390
|
+
}, {
|
|
391
|
+
readonly type: "function";
|
|
392
|
+
readonly name: "logOps";
|
|
393
|
+
readonly inputs: readonly [];
|
|
394
|
+
readonly outputs: readonly [{
|
|
395
|
+
readonly name: "";
|
|
396
|
+
readonly type: "bool";
|
|
397
|
+
readonly internalType: "bool";
|
|
398
|
+
}];
|
|
399
|
+
readonly stateMutability: "view";
|
|
400
|
+
}, {
|
|
401
|
+
readonly type: "function";
|
|
402
|
+
readonly name: "mockStorage";
|
|
403
|
+
readonly inputs: readonly [{
|
|
404
|
+
readonly name: "";
|
|
405
|
+
readonly type: "uint256";
|
|
406
|
+
readonly internalType: "uint256";
|
|
407
|
+
}];
|
|
408
|
+
readonly outputs: readonly [{
|
|
409
|
+
readonly name: "";
|
|
410
|
+
readonly type: "uint256";
|
|
411
|
+
readonly internalType: "uint256";
|
|
412
|
+
}];
|
|
413
|
+
readonly stateMutability: "view";
|
|
414
|
+
}, {
|
|
415
|
+
readonly type: "function";
|
|
416
|
+
readonly name: "publishDecryptResult";
|
|
417
|
+
readonly inputs: readonly [{
|
|
418
|
+
readonly name: "ctHash";
|
|
419
|
+
readonly type: "uint256";
|
|
420
|
+
readonly internalType: "uint256";
|
|
421
|
+
}, {
|
|
422
|
+
readonly name: "result";
|
|
423
|
+
readonly type: "uint256";
|
|
424
|
+
readonly internalType: "uint256";
|
|
425
|
+
}, {
|
|
426
|
+
readonly name: "signature";
|
|
427
|
+
readonly type: "bytes";
|
|
428
|
+
readonly internalType: "bytes";
|
|
429
|
+
}];
|
|
430
|
+
readonly outputs: readonly [];
|
|
431
|
+
readonly stateMutability: "nonpayable";
|
|
432
|
+
}, {
|
|
433
|
+
readonly type: "function";
|
|
434
|
+
readonly name: "publishDecryptResultBatch";
|
|
435
|
+
readonly inputs: readonly [{
|
|
436
|
+
readonly name: "ctHashes";
|
|
437
|
+
readonly type: "uint256[]";
|
|
438
|
+
readonly internalType: "uint256[]";
|
|
439
|
+
}, {
|
|
440
|
+
readonly name: "results";
|
|
441
|
+
readonly type: "uint256[]";
|
|
442
|
+
readonly internalType: "uint256[]";
|
|
443
|
+
}, {
|
|
444
|
+
readonly name: "signatures";
|
|
445
|
+
readonly type: "bytes[]";
|
|
446
|
+
readonly internalType: "bytes[]";
|
|
447
|
+
}];
|
|
448
|
+
readonly outputs: readonly [];
|
|
449
|
+
readonly stateMutability: "nonpayable";
|
|
450
|
+
}, {
|
|
451
|
+
readonly type: "function";
|
|
452
|
+
readonly name: "removeFirstLetter";
|
|
453
|
+
readonly inputs: readonly [{
|
|
454
|
+
readonly name: "str";
|
|
455
|
+
readonly type: "string";
|
|
456
|
+
readonly internalType: "string";
|
|
457
|
+
}];
|
|
458
|
+
readonly outputs: readonly [{
|
|
459
|
+
readonly name: "";
|
|
460
|
+
readonly type: "string";
|
|
461
|
+
readonly internalType: "string";
|
|
462
|
+
}];
|
|
463
|
+
readonly stateMutability: "pure";
|
|
464
|
+
}, {
|
|
465
|
+
readonly type: "function";
|
|
466
|
+
readonly name: "setACLContract";
|
|
467
|
+
readonly inputs: readonly [{
|
|
468
|
+
readonly name: "_aclAddress";
|
|
469
|
+
readonly type: "address";
|
|
470
|
+
readonly internalType: "address";
|
|
471
|
+
}];
|
|
472
|
+
readonly outputs: readonly [];
|
|
473
|
+
readonly stateMutability: "nonpayable";
|
|
474
|
+
}, {
|
|
475
|
+
readonly type: "function";
|
|
476
|
+
readonly name: "setAggregator";
|
|
477
|
+
readonly inputs: readonly [{
|
|
478
|
+
readonly name: "_aggregatorAddress";
|
|
479
|
+
readonly type: "address";
|
|
480
|
+
readonly internalType: "address";
|
|
481
|
+
}];
|
|
482
|
+
readonly outputs: readonly [];
|
|
483
|
+
readonly stateMutability: "nonpayable";
|
|
484
|
+
}, {
|
|
485
|
+
readonly type: "function";
|
|
486
|
+
readonly name: "setDecryptResultSigner";
|
|
487
|
+
readonly inputs: readonly [{
|
|
488
|
+
readonly name: "signer";
|
|
489
|
+
readonly type: "address";
|
|
490
|
+
readonly internalType: "address";
|
|
491
|
+
}];
|
|
492
|
+
readonly outputs: readonly [];
|
|
493
|
+
readonly stateMutability: "nonpayable";
|
|
494
|
+
}, {
|
|
495
|
+
readonly type: "function";
|
|
496
|
+
readonly name: "setLogOps";
|
|
497
|
+
readonly inputs: readonly [{
|
|
498
|
+
readonly name: "_logOps";
|
|
499
|
+
readonly type: "bool";
|
|
500
|
+
readonly internalType: "bool";
|
|
501
|
+
}];
|
|
502
|
+
readonly outputs: readonly [];
|
|
503
|
+
readonly stateMutability: "nonpayable";
|
|
504
|
+
}, {
|
|
505
|
+
readonly type: "function";
|
|
506
|
+
readonly name: "setSecurityZoneMax";
|
|
507
|
+
readonly inputs: readonly [{
|
|
508
|
+
readonly name: "securityZone";
|
|
509
|
+
readonly type: "int32";
|
|
510
|
+
readonly internalType: "int32";
|
|
511
|
+
}];
|
|
512
|
+
readonly outputs: readonly [];
|
|
513
|
+
readonly stateMutability: "nonpayable";
|
|
514
|
+
}, {
|
|
515
|
+
readonly type: "function";
|
|
516
|
+
readonly name: "setSecurityZoneMin";
|
|
517
|
+
readonly inputs: readonly [{
|
|
518
|
+
readonly name: "securityZone";
|
|
519
|
+
readonly type: "int32";
|
|
520
|
+
readonly internalType: "int32";
|
|
521
|
+
}];
|
|
522
|
+
readonly outputs: readonly [];
|
|
523
|
+
readonly stateMutability: "nonpayable";
|
|
524
|
+
}, {
|
|
525
|
+
readonly type: "function";
|
|
526
|
+
readonly name: "setSecurityZones";
|
|
527
|
+
readonly inputs: readonly [{
|
|
528
|
+
readonly name: "minSZ";
|
|
529
|
+
readonly type: "int32";
|
|
530
|
+
readonly internalType: "int32";
|
|
531
|
+
}, {
|
|
532
|
+
readonly name: "maxSZ";
|
|
533
|
+
readonly type: "int32";
|
|
534
|
+
readonly internalType: "int32";
|
|
535
|
+
}];
|
|
536
|
+
readonly outputs: readonly [];
|
|
537
|
+
readonly stateMutability: "nonpayable";
|
|
538
|
+
}, {
|
|
539
|
+
readonly type: "function";
|
|
540
|
+
readonly name: "setVerifierSigner";
|
|
541
|
+
readonly inputs: readonly [{
|
|
542
|
+
readonly name: "signer";
|
|
543
|
+
readonly type: "address";
|
|
544
|
+
readonly internalType: "address";
|
|
545
|
+
}];
|
|
546
|
+
readonly outputs: readonly [];
|
|
547
|
+
readonly stateMutability: "nonpayable";
|
|
548
|
+
}, {
|
|
549
|
+
readonly type: "function";
|
|
550
|
+
readonly name: "sliceString";
|
|
551
|
+
readonly inputs: readonly [{
|
|
552
|
+
readonly name: "str";
|
|
553
|
+
readonly type: "string";
|
|
554
|
+
readonly internalType: "string";
|
|
555
|
+
}, {
|
|
556
|
+
readonly name: "start";
|
|
557
|
+
readonly type: "uint256";
|
|
558
|
+
readonly internalType: "uint256";
|
|
559
|
+
}, {
|
|
560
|
+
readonly name: "length";
|
|
561
|
+
readonly type: "uint256";
|
|
562
|
+
readonly internalType: "uint256";
|
|
563
|
+
}];
|
|
564
|
+
readonly outputs: readonly [{
|
|
565
|
+
readonly name: "";
|
|
566
|
+
readonly type: "string";
|
|
567
|
+
readonly internalType: "string";
|
|
568
|
+
}];
|
|
569
|
+
readonly stateMutability: "pure";
|
|
570
|
+
}, {
|
|
571
|
+
readonly type: "function";
|
|
572
|
+
readonly name: "verifyDecryptResult";
|
|
573
|
+
readonly inputs: readonly [{
|
|
574
|
+
readonly name: "ctHash";
|
|
575
|
+
readonly type: "uint256";
|
|
576
|
+
readonly internalType: "uint256";
|
|
577
|
+
}, {
|
|
578
|
+
readonly name: "result";
|
|
579
|
+
readonly type: "uint256";
|
|
580
|
+
readonly internalType: "uint256";
|
|
581
|
+
}, {
|
|
582
|
+
readonly name: "signature";
|
|
583
|
+
readonly type: "bytes";
|
|
584
|
+
readonly internalType: "bytes";
|
|
585
|
+
}];
|
|
586
|
+
readonly outputs: readonly [{
|
|
587
|
+
readonly name: "";
|
|
588
|
+
readonly type: "bool";
|
|
589
|
+
readonly internalType: "bool";
|
|
590
|
+
}];
|
|
591
|
+
readonly stateMutability: "view";
|
|
592
|
+
}, {
|
|
593
|
+
readonly type: "function";
|
|
594
|
+
readonly name: "verifyDecryptResultSafe";
|
|
595
|
+
readonly inputs: readonly [{
|
|
596
|
+
readonly name: "ctHash";
|
|
597
|
+
readonly type: "uint256";
|
|
598
|
+
readonly internalType: "uint256";
|
|
599
|
+
}, {
|
|
600
|
+
readonly name: "result";
|
|
601
|
+
readonly type: "uint256";
|
|
602
|
+
readonly internalType: "uint256";
|
|
603
|
+
}, {
|
|
604
|
+
readonly name: "signature";
|
|
605
|
+
readonly type: "bytes";
|
|
606
|
+
readonly internalType: "bytes";
|
|
607
|
+
}];
|
|
608
|
+
readonly outputs: readonly [{
|
|
609
|
+
readonly name: "";
|
|
610
|
+
readonly type: "bool";
|
|
611
|
+
readonly internalType: "bool";
|
|
612
|
+
}];
|
|
613
|
+
readonly stateMutability: "view";
|
|
614
|
+
}, {
|
|
615
|
+
readonly type: "function";
|
|
616
|
+
readonly name: "verifyInput";
|
|
617
|
+
readonly inputs: readonly [{
|
|
618
|
+
readonly name: "input";
|
|
619
|
+
readonly type: "tuple";
|
|
620
|
+
readonly internalType: "struct EncryptedInput";
|
|
621
|
+
readonly components: readonly [{
|
|
622
|
+
readonly name: "ctHash";
|
|
623
|
+
readonly type: "uint256";
|
|
624
|
+
readonly internalType: "uint256";
|
|
625
|
+
}, {
|
|
626
|
+
readonly name: "securityZone";
|
|
627
|
+
readonly type: "uint8";
|
|
628
|
+
readonly internalType: "uint8";
|
|
629
|
+
}, {
|
|
630
|
+
readonly name: "utype";
|
|
631
|
+
readonly type: "uint8";
|
|
632
|
+
readonly internalType: "uint8";
|
|
633
|
+
}, {
|
|
634
|
+
readonly name: "signature";
|
|
635
|
+
readonly type: "bytes";
|
|
636
|
+
readonly internalType: "bytes";
|
|
637
|
+
}];
|
|
638
|
+
}, {
|
|
639
|
+
readonly name: "sender";
|
|
640
|
+
readonly type: "address";
|
|
641
|
+
readonly internalType: "address";
|
|
642
|
+
}];
|
|
643
|
+
readonly outputs: readonly [{
|
|
644
|
+
readonly name: "";
|
|
645
|
+
readonly type: "uint256";
|
|
646
|
+
readonly internalType: "uint256";
|
|
647
|
+
}];
|
|
648
|
+
readonly stateMutability: "nonpayable";
|
|
649
|
+
}, {
|
|
650
|
+
readonly type: "event";
|
|
651
|
+
readonly name: "DecryptionResult";
|
|
652
|
+
readonly inputs: readonly [{
|
|
653
|
+
readonly name: "ctHash";
|
|
654
|
+
readonly type: "uint256";
|
|
655
|
+
readonly indexed: false;
|
|
656
|
+
readonly internalType: "uint256";
|
|
657
|
+
}, {
|
|
658
|
+
readonly name: "result";
|
|
659
|
+
readonly type: "uint256";
|
|
660
|
+
readonly indexed: false;
|
|
661
|
+
readonly internalType: "uint256";
|
|
662
|
+
}, {
|
|
663
|
+
readonly name: "requestor";
|
|
664
|
+
readonly type: "address";
|
|
665
|
+
readonly indexed: true;
|
|
666
|
+
readonly internalType: "address";
|
|
667
|
+
}];
|
|
668
|
+
readonly anonymous: false;
|
|
669
|
+
}, {
|
|
670
|
+
readonly type: "event";
|
|
671
|
+
readonly name: "ProtocolNotification";
|
|
672
|
+
readonly inputs: readonly [{
|
|
673
|
+
readonly name: "ctHash";
|
|
674
|
+
readonly type: "uint256";
|
|
675
|
+
readonly indexed: false;
|
|
676
|
+
readonly internalType: "uint256";
|
|
677
|
+
}, {
|
|
678
|
+
readonly name: "operation";
|
|
679
|
+
readonly type: "string";
|
|
680
|
+
readonly indexed: false;
|
|
681
|
+
readonly internalType: "string";
|
|
682
|
+
}, {
|
|
683
|
+
readonly name: "errorMessage";
|
|
684
|
+
readonly type: "string";
|
|
685
|
+
readonly indexed: false;
|
|
686
|
+
readonly internalType: "string";
|
|
687
|
+
}];
|
|
688
|
+
readonly anonymous: false;
|
|
689
|
+
}, {
|
|
690
|
+
readonly type: "event";
|
|
691
|
+
readonly name: "TaskCreated";
|
|
692
|
+
readonly inputs: readonly [{
|
|
693
|
+
readonly name: "ctHash";
|
|
694
|
+
readonly type: "uint256";
|
|
695
|
+
readonly indexed: false;
|
|
696
|
+
readonly internalType: "uint256";
|
|
697
|
+
}, {
|
|
698
|
+
readonly name: "operation";
|
|
699
|
+
readonly type: "string";
|
|
700
|
+
readonly indexed: false;
|
|
701
|
+
readonly internalType: "string";
|
|
702
|
+
}, {
|
|
703
|
+
readonly name: "input1";
|
|
704
|
+
readonly type: "uint256";
|
|
705
|
+
readonly indexed: false;
|
|
706
|
+
readonly internalType: "uint256";
|
|
707
|
+
}, {
|
|
708
|
+
readonly name: "input2";
|
|
709
|
+
readonly type: "uint256";
|
|
710
|
+
readonly indexed: false;
|
|
711
|
+
readonly internalType: "uint256";
|
|
712
|
+
}, {
|
|
713
|
+
readonly name: "input3";
|
|
714
|
+
readonly type: "uint256";
|
|
715
|
+
readonly indexed: false;
|
|
716
|
+
readonly internalType: "uint256";
|
|
717
|
+
}];
|
|
718
|
+
readonly anonymous: false;
|
|
719
|
+
}, {
|
|
720
|
+
readonly type: "error";
|
|
721
|
+
readonly name: "ACLNotAllowed";
|
|
722
|
+
readonly inputs: readonly [{
|
|
723
|
+
readonly name: "handle";
|
|
724
|
+
readonly type: "uint256";
|
|
725
|
+
readonly internalType: "uint256";
|
|
726
|
+
}, {
|
|
727
|
+
readonly name: "account";
|
|
728
|
+
readonly type: "address";
|
|
729
|
+
readonly internalType: "address";
|
|
730
|
+
}];
|
|
731
|
+
}, {
|
|
732
|
+
readonly type: "error";
|
|
733
|
+
readonly name: "DecryptionResultNotReady";
|
|
734
|
+
readonly inputs: readonly [{
|
|
735
|
+
readonly name: "ctHash";
|
|
736
|
+
readonly type: "uint256";
|
|
737
|
+
readonly internalType: "uint256";
|
|
738
|
+
}];
|
|
739
|
+
}, {
|
|
740
|
+
readonly type: "error";
|
|
741
|
+
readonly name: "ECDSAInvalidSignature";
|
|
742
|
+
readonly inputs: readonly [];
|
|
743
|
+
}, {
|
|
744
|
+
readonly type: "error";
|
|
745
|
+
readonly name: "ECDSAInvalidSignatureLength";
|
|
746
|
+
readonly inputs: readonly [{
|
|
747
|
+
readonly name: "length";
|
|
748
|
+
readonly type: "uint256";
|
|
749
|
+
readonly internalType: "uint256";
|
|
750
|
+
}];
|
|
751
|
+
}, {
|
|
752
|
+
readonly type: "error";
|
|
753
|
+
readonly name: "ECDSAInvalidSignatureS";
|
|
754
|
+
readonly inputs: readonly [{
|
|
755
|
+
readonly name: "s";
|
|
756
|
+
readonly type: "bytes32";
|
|
757
|
+
readonly internalType: "bytes32";
|
|
758
|
+
}];
|
|
759
|
+
}, {
|
|
760
|
+
readonly type: "error";
|
|
761
|
+
readonly name: "InputNotInMockStorage";
|
|
762
|
+
readonly inputs: readonly [{
|
|
763
|
+
readonly name: "ctHash";
|
|
764
|
+
readonly type: "uint256";
|
|
765
|
+
readonly internalType: "uint256";
|
|
766
|
+
}];
|
|
767
|
+
}, {
|
|
768
|
+
readonly type: "error";
|
|
769
|
+
readonly name: "InvalidAddress";
|
|
770
|
+
readonly inputs: readonly [];
|
|
771
|
+
}, {
|
|
772
|
+
readonly type: "error";
|
|
773
|
+
readonly name: "InvalidInputForFunction";
|
|
774
|
+
readonly inputs: readonly [{
|
|
775
|
+
readonly name: "functionName";
|
|
776
|
+
readonly type: "string";
|
|
777
|
+
readonly internalType: "string";
|
|
778
|
+
}, {
|
|
779
|
+
readonly name: "inputType";
|
|
780
|
+
readonly type: "uint8";
|
|
781
|
+
readonly internalType: "uint8";
|
|
782
|
+
}];
|
|
783
|
+
}, {
|
|
784
|
+
readonly type: "error";
|
|
785
|
+
readonly name: "InvalidInputType";
|
|
786
|
+
readonly inputs: readonly [{
|
|
787
|
+
readonly name: "actual";
|
|
788
|
+
readonly type: "uint8";
|
|
789
|
+
readonly internalType: "uint8";
|
|
790
|
+
}, {
|
|
791
|
+
readonly name: "expected";
|
|
792
|
+
readonly type: "uint8";
|
|
793
|
+
readonly internalType: "uint8";
|
|
794
|
+
}];
|
|
795
|
+
}, {
|
|
796
|
+
readonly type: "error";
|
|
797
|
+
readonly name: "InvalidInputsAmount";
|
|
798
|
+
readonly inputs: readonly [{
|
|
799
|
+
readonly name: "operation";
|
|
800
|
+
readonly type: "string";
|
|
801
|
+
readonly internalType: "string";
|
|
802
|
+
}, {
|
|
803
|
+
readonly name: "got";
|
|
804
|
+
readonly type: "uint256";
|
|
805
|
+
readonly internalType: "uint256";
|
|
806
|
+
}, {
|
|
807
|
+
readonly name: "expected";
|
|
808
|
+
readonly type: "uint256";
|
|
809
|
+
readonly internalType: "uint256";
|
|
810
|
+
}];
|
|
811
|
+
}, {
|
|
812
|
+
readonly type: "error";
|
|
813
|
+
readonly name: "InvalidOperationInputs";
|
|
814
|
+
readonly inputs: readonly [{
|
|
815
|
+
readonly name: "operation";
|
|
816
|
+
readonly type: "string";
|
|
817
|
+
readonly internalType: "string";
|
|
818
|
+
}];
|
|
819
|
+
}, {
|
|
820
|
+
readonly type: "error";
|
|
821
|
+
readonly name: "InvalidSecurityZone";
|
|
822
|
+
readonly inputs: readonly [{
|
|
823
|
+
readonly name: "zone";
|
|
824
|
+
readonly type: "int32";
|
|
825
|
+
readonly internalType: "int32";
|
|
826
|
+
}, {
|
|
827
|
+
readonly name: "min";
|
|
828
|
+
readonly type: "int32";
|
|
829
|
+
readonly internalType: "int32";
|
|
830
|
+
}, {
|
|
831
|
+
readonly name: "max";
|
|
832
|
+
readonly type: "int32";
|
|
833
|
+
readonly internalType: "int32";
|
|
834
|
+
}];
|
|
835
|
+
}, {
|
|
836
|
+
readonly type: "error";
|
|
837
|
+
readonly name: "InvalidSignature";
|
|
838
|
+
readonly inputs: readonly [];
|
|
839
|
+
}, {
|
|
840
|
+
readonly type: "error";
|
|
841
|
+
readonly name: "InvalidSigner";
|
|
842
|
+
readonly inputs: readonly [{
|
|
843
|
+
readonly name: "signer";
|
|
844
|
+
readonly type: "address";
|
|
845
|
+
readonly internalType: "address";
|
|
846
|
+
}, {
|
|
847
|
+
readonly name: "expectedSigner";
|
|
848
|
+
readonly type: "address";
|
|
849
|
+
readonly internalType: "address";
|
|
850
|
+
}];
|
|
851
|
+
}, {
|
|
852
|
+
readonly type: "error";
|
|
853
|
+
readonly name: "InvalidThreeInputOperation";
|
|
854
|
+
readonly inputs: readonly [{
|
|
855
|
+
readonly name: "operation";
|
|
856
|
+
readonly type: "string";
|
|
857
|
+
readonly internalType: "string";
|
|
858
|
+
}];
|
|
859
|
+
}, {
|
|
860
|
+
readonly type: "error";
|
|
861
|
+
readonly name: "InvalidTwoInputOperation";
|
|
862
|
+
readonly inputs: readonly [{
|
|
863
|
+
readonly name: "operation";
|
|
864
|
+
readonly type: "string";
|
|
865
|
+
readonly internalType: "string";
|
|
866
|
+
}];
|
|
867
|
+
}, {
|
|
868
|
+
readonly type: "error";
|
|
869
|
+
readonly name: "InvalidTypeOrSecurityZone";
|
|
870
|
+
readonly inputs: readonly [{
|
|
871
|
+
readonly name: "operation";
|
|
872
|
+
readonly type: "string";
|
|
873
|
+
readonly internalType: "string";
|
|
874
|
+
}];
|
|
875
|
+
}, {
|
|
876
|
+
readonly type: "error";
|
|
877
|
+
readonly name: "InvalidUnaryOperation";
|
|
878
|
+
readonly inputs: readonly [{
|
|
879
|
+
readonly name: "operation";
|
|
880
|
+
readonly type: "string";
|
|
881
|
+
readonly internalType: "string";
|
|
882
|
+
}];
|
|
883
|
+
}, {
|
|
884
|
+
readonly type: "error";
|
|
885
|
+
readonly name: "NotImplemented";
|
|
886
|
+
readonly inputs: readonly [];
|
|
887
|
+
}, {
|
|
888
|
+
readonly type: "error";
|
|
889
|
+
readonly name: "OnlyAggregatorAllowed";
|
|
890
|
+
readonly inputs: readonly [{
|
|
891
|
+
readonly name: "caller";
|
|
892
|
+
readonly type: "address";
|
|
893
|
+
readonly internalType: "address";
|
|
894
|
+
}];
|
|
895
|
+
}, {
|
|
896
|
+
readonly type: "error";
|
|
897
|
+
readonly name: "OnlyOwnerAllowed";
|
|
898
|
+
readonly inputs: readonly [{
|
|
899
|
+
readonly name: "caller";
|
|
900
|
+
readonly type: "address";
|
|
901
|
+
readonly internalType: "address";
|
|
902
|
+
}];
|
|
903
|
+
}, {
|
|
904
|
+
readonly type: "error";
|
|
905
|
+
readonly name: "RandomFunctionNotSupported";
|
|
906
|
+
readonly inputs: readonly [];
|
|
907
|
+
}, {
|
|
908
|
+
readonly type: "error";
|
|
909
|
+
readonly name: "StringsInsufficientHexLength";
|
|
910
|
+
readonly inputs: readonly [{
|
|
911
|
+
readonly name: "value";
|
|
912
|
+
readonly type: "uint256";
|
|
913
|
+
readonly internalType: "uint256";
|
|
914
|
+
}, {
|
|
915
|
+
readonly name: "length";
|
|
916
|
+
readonly type: "uint256";
|
|
917
|
+
readonly internalType: "uint256";
|
|
918
|
+
}];
|
|
919
|
+
}, {
|
|
920
|
+
readonly type: "error";
|
|
921
|
+
readonly name: "TooManyInputs";
|
|
922
|
+
readonly inputs: readonly [{
|
|
923
|
+
readonly name: "operation";
|
|
924
|
+
readonly type: "string";
|
|
925
|
+
readonly internalType: "string";
|
|
926
|
+
}, {
|
|
927
|
+
readonly name: "got";
|
|
928
|
+
readonly type: "uint256";
|
|
929
|
+
readonly internalType: "uint256";
|
|
930
|
+
}, {
|
|
931
|
+
readonly name: "maxAllowed";
|
|
932
|
+
readonly type: "uint256";
|
|
933
|
+
readonly internalType: "uint256";
|
|
934
|
+
}];
|
|
935
|
+
}];
|
|
936
|
+
readonly deployedBytecode: "0x608060405234801561000f575f5ffd5b5060043610610246575f3560e01c806365d0509c11610139578063938fb3d9116100b6578063d521ed4b1161007a578063d521ed4b14610717578063de28735914610747578063e68d826f14610765578063f6bc7f3f14610783578063f9120af6146107b357610246565b8063938fb3d914610661578063a307d21d1461067f578063a33b4b0a1461069b578063ae79f04a146106cb578063c4d66de8146106fb57610246565b80638b2b9c23116100fd5780638b2b9c23146105c15780638d9c9c92146105dd5780638db39c8d146105f95780638eef9ae71461061557806392bd6c951461064557610246565b806365d0509c1461050d57806373301651146105295780637e5cf5191461054557806380d55b691461057557806381ba0986146105a557610246565b806327f9c762116101c75780634d7cb0c01161018b5780634d7cb0c014610459578063591363c7146104895780635faa299a146104a55780635fb0bf91146104d5578063642b3f19146104f157610246565b806327f9c762146103a257806334ef1e5a146103d2578063392e53cd146103ee578063458693c91461040c5780634bc982631461043d57610246565b80631d0319311161020e5780631d031931146102fe578063245a7bfc1461032e5780632605ab9f1461034c57806326594a0c14610368578063267c4ae41461038457610246565b8063082898271461024a57806315a486fe1461026657806318683701146102825780631888debd1461029e5780631c76642b146102ce575b5f5ffd5b610264600480360381019061025f9190616823565b6107cf565b005b610280600480360381019061027b9190616861565b610882565b005b61029c60048036038101906102979190616900565b610890565b005b6102b860048036038101906102b39190616b12565b61096b565b6040516102c59190616bbd565b60405180910390f35b6102e860048036038101906102e39190616bd6565b610b0f565b6040516102f59190616bbd565b60405180910390f35b61031860048036038101906103139190616bd6565b610b24565b6040516103259190616c1b565b60405180910390f35b610336610b41565b6040516103439190616c43565b60405180910390f35b61036660048036038101906103619190616c5c565b610b67565b005b610382600480360381019061037d9190616cbd565b610c3b565b005b61038c610d17565b6040516103999190616c1b565b60405180910390f35b6103bc60048036038101906103b79190616e44565b610d1f565b6040516103c99190616bbd565b60405180910390f35b6103ec60048036038101906103e79190616bd6565b610f59565b005b6103f6611033565b6040516104039190616c1b565b60405180910390f35b61042660048036038101906104219190616bd6565b611049565b604051610434929190616e9e565b60405180910390f35b61045760048036038101906104529190616f63565b6110d7565b005b610473600480360381019061046e9190616900565b6111a9565b6040516104809190616c1b565b60405180910390f35b6104a3600480360381019061049e9190616feb565b6111c2565b005b6104bf60048036038101906104ba9190616823565b6112f4565b6040516104cc9190616c1b565b60405180910390f35b6104ef60048036038101906104ea9190616feb565b6113b0565b005b61050b60048036038101906105069190617040565b6114e2565b005b61052760048036038101906105229190616823565b6114fd565b005b610543600480360381019061053e9190617115565b611649565b005b61055f600480360381019061055a91906171c5565b611730565b60405161056c9190617291565b60405180910390f35b61058f600480360381019061058a91906172b1565b611866565b60405161059c9190616bbd565b60405180910390f35b6105bf60048036038101906105ba9190617356565b61189f565b005b6105db60048036038101906105d691906173c7565b6119ad565b005b6105f760048036038101906105f29190616823565b6119bd565b005b610613600480360381019061060e9190616c5c565b611a9a565b005b61062f600480360381019061062a9190616bd6565b611b6e565b60405161063c9190616c1b565b60405180910390f35b61065f600480360381019061065a9190616c5c565b611ba1565b005b610669611cda565b6040516106769190616c43565b60405180910390f35b61069960048036038101906106949190616bd6565b611cff565b005b6106b560048036038101906106b09190616900565b611e47565b6040516106c29190616c1b565b60405180910390f35b6106e560048036038101906106e091906175a2565b611e5f565b6040516106f29190616c1b565b60405180910390f35b61071560048036038101906107109190616c5c565b611f03565b005b610731600480360381019061072c91906175fc565b611fe1565b60405161073e9190617291565b60405180910390f35b61074f6120f6565b60405161075c919061769e565b60405180910390f35b61076d61211b565b60405161077a9190616c1b565b60405180910390f35b61079d60048036038101906107989190616bd6565b61212c565b6040516107aa9190616bbd565b60405180910390f35b6107cd60048036038101906107c89190616c5c565b612188565b005b6107d8826122c2565b600160055f8481526020019081526020015f205f6101000a81548160ff02191690831515021790555061080a826123b1565b60045f8481526020019081526020015f20819055505f6001600a4261082f91906176e4565b6108399190617741565b905080426108479190617774565b60065f8581526020019081526020015f205f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050565b61088c8282612439565b5050565b61089e848484846001612457565b50600160055f8681526020019081526020015f205f6101000a81548160ff0219169083151502179055508260045f8681526020019081526020015f20819055504260065f8681526020019081526020015f205f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f023b156100bf14eedc41deb8cef114c1fce662c306697f3bfaf3dbca58130bf7858560405161095d9291906177af565b60405180910390a250505050565b5f601b601f8111156109805761097f6177d6565b5b84601f811115610993576109926177d6565b5b036109ca576040517f98e08ab000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f825184516109d99190617741565b90506003811115610a2e576109ed856126b1565b8160036040517f2b0399d5000000000000000000000000000000000000000000000000000000008152600401610a259392919061783c565b60405180910390fd5b610a388486613246565b5f610a4385856134c0565b90505f610a51878787613602565b90505f610a608983858b61366d565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663484de8228233306040518463ffffffff1660e01b8152600401610ac093929190617878565b5f604051808303815f87803b158015610ad7575f5ffd5b505af1158015610ae9573d5f5f3e3d5ffd5b50505050610b0081610afa8a6126b1565b856137f2565b80945050505050949350505050565b6001602052805f5260405f205f915090505481565b6002602052805f5260405f205f915054906101000a900460ff1681565b600760089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bf857336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401610bef9190616c43565b60405180910390fd5b80600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ccc57336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401610cc39190616c43565b60405180910390fd5b81600760046101000a81548163ffffffff021916908360030b63ffffffff1602179055508060075f6101000a81548163ffffffff021916908360030b63ffffffff1602179055505050565b5f6001905090565b5f5f836020015160ff1690505f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ead57610d8881613a47565b610dea5780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf36000000000000000000000000000000000000000000000000000000008152600401610de1939291906178bc565b60405180910390fd5b5f610df58585613a88565b905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eab578060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f7ba5ffb5000000000000000000000000000000000000000000000000000000008152600401610ea29291906178f1565b60405180910390fd5b505b5f610ec1855f01518387604001515f613b4c565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663484de8228233306040518463ffffffff1660e01b8152600401610f2193929190617878565b5f604051808303815f87803b158015610f38575f5ffd5b505af1158015610f4a573d5f5f3e3d5ffd5b50505050809250505092915050565b610f6281613ba5565b6110305760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663846cd43382336040518363ffffffff1660e01b8152600401610fc2929190617918565b5f604051808303815f87803b158015610fd9575f5ffd5b505af1158015610feb573d5f5f3e3d5ffd5b5050505061102f6040518060400160405280600f81526020017f4648452e616c6c6f77476c6f62616c000000000000000000000000000000000081525082336119ad565b5b50565b5f600360149054906101000a900460ff16905090565b5f5f60055f8481526020019081526020015f205f9054906101000a900460ff16611078575f5f915091506110d2565b60065f8481526020019081526020015f205f9054906101000a900467ffffffffffffffff1667ffffffffffffffff164210156110b9575f5f915091506110d2565b60045f8481526020019081526020015f20546001915091505b915091565b600760089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116957336040517fa974a0fe0000000000000000000000000000000000000000000000000000000081526004016111609190616c43565b60405180910390fd5b7f66d3f531abdf188fde59b6d2b282dc7c725ef2bb1c6c93954054721a13c1a3fa83838360405161119c9392919061793f565b60405180910390a1505050565b5f6111b8858585856001612457565b9050949350505050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461125357336040517f7238ea5600000000000000000000000000000000000000000000000000000000815260040161124a9190616c43565b60405180910390fd5b600760049054906101000a900460030b60030b8160030b12156112ce5780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf360000000000000000000000000000000000000000000000000000000081526004016112c5939291906178bc565b60405180910390fd5b8060075f6101000a81548163ffffffff021916908360030b63ffffffff16021790555050565b5f6112fe83613ba5565b1561130c57600190506113aa565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635faa299a84846040518363ffffffff1660e01b8152600401611368929190617918565b602060405180830381865afa158015611383573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113a79190617996565b90505b92915050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144157336040517f7238ea560000000000000000000000000000000000000000000000000000000081526004016114389190616c43565b60405180910390fd5b60075f9054906101000a900460030b60030b8160030b13156114bb5780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf360000000000000000000000000000000000000000000000000000000081526004016114b2939291906178bc565b60405180910390fd5b80600760046101000a81548163ffffffff021916908360030b63ffffffff16021790555050565b805f5f6101000a81548160ff02191690831515021790555050565b61150682613ba5565b6116455760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379a3a7fb8383336040518463ffffffff1660e01b815260040161156893929190617878565b5f604051808303815f87803b15801561157f575f5ffd5b505af1158015611591573d5f5f3e3d5ffd5b505050506116443373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611606576040518060400160405280600981526020017f4648452e616c6c6f77000000000000000000000000000000000000000000000081525061163d565b6040518060400160405280600d81526020017f4648452e616c6c6f7754686973000000000000000000000000000000000000008152505b83836119ad565b5b5050565b5f5f90505b86869050811015611727573073ffffffffffffffffffffffffffffffffffffffff166318683701888884818110611688576116876179c1565b5b905060200201358787858181106116a2576116a16179c1565b5b905060200201358686868181106116bc576116bb6179c1565b5b90506020028101906116ce91906179fa565b6040518563ffffffff1660e01b81526004016116ed9493929190617a98565b5f604051808303815f87803b158015611704575f5ffd5b505af1158015611716573d5f5f3e3d5ffd5b50505050808060010191505061164e565b50505050505050565b60605f849050805183856117449190617741565b1115611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90617b20565b60405180910390fd5b5f8367ffffffffffffffff8111156117a05761179f6169da565b5b6040519080825280601f01601f1916602001820160405280156117d25781602001600182028036833780820191505090505b5090505f5f90505b84811015611859578281876117ef9190617741565b81518110611800576117ff6179c1565b5b602001015160f81c60f81b82828151811061181e5761181d6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080806001019150506117da565b5080925050509392505050565b5f8383834260405160200161187e9493929190617b4d565b604051602081830303815290604052805190602001205f1c90509392505050565b600760089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461193157336040517fa974a0fe0000000000000000000000000000000000000000000000000000000081526004016119289190616c43565b60405180910390fd5b600160055f8681526020019081526020015f205f6101000a81548160ff0219169083151502179055508260045f8681526020019081526020015f20819055504260065f8681526020019081526020015f205f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b6119b8838383613be2565b505050565b6119c682613ba5565b611a965760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663484de8228383336040518463ffffffff1660e01b8152600401611a2893929190617878565b5f604051808303815f87803b158015611a3f575f5ffd5b505af1158015611a51573d5f5f3e3d5ffd5b50505050611a956040518060400160405280601281526020017f4648452e616c6c6f775472616e7369656e74000000000000000000000000000081525083836119ad565b5b5050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b2b57336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401611b229190616c43565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3257336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401611c299190616c43565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c97576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d0881613ba5565b611e44575f600167ffffffffffffffff811115611d2857611d276169da565b5b604051908082528060200260200182016040528015611d565781602001602082028036833780820191505090505b50905081815f81518110611d6d57611d6c6179c1565b5b60200260200101818152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c3839ba82336040518363ffffffff1660e01b8152600401611dd5929190617c47565b5f604051808303815f87803b158015611dec575f5ffd5b505af1158015611dfe573d5f5f3e3d5ffd5b50505050611e426040518060400160405280601681526020017f4648452e616c6c6f77466f7244656372797074696f6e0000000000000000000081525083336119ad565b505b50565b5f611e55858585855f612457565b9050949350505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae79f04a84846040518363ffffffff1660e01b8152600401611ebc929190617da8565b602060405180830381865afa158015611ed7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611efb9190617996565b905092915050565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360146101000a81548160ff0219169083151502179055505f60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f8290505f8151036120065760405180602001604052805f8152509150506120f1565b5f600182516120159190617dd6565b67ffffffffffffffff81111561202e5761202d6169da565b5b6040519080825280601f01601f1916602001820160405280156120605781602001600182028036833780820191505090505b5090505f600190505b82518110156120ea57828181518110612085576120846179c1565b5b602001015160f81c60f81b8260018361209e9190617dd6565b815181106120af576120ae6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053508080600101915050612069565b5080925050505b919050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900460ff1681565b5f5f5f61213884611049565b915091508061217e57836040517f70cf65540000000000000000000000000000000000000000000000000000000081526004016121759190616bbd565b60405180910390fd5b8192505050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461221957336040517f7238ea560000000000000000000000000000000000000000000000000000000081526004016122109190616c43565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361227e576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600760086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6122cb81613ba5565b6123ae5760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635faa299a82336040518363ffffffff1660e01b815260040161232b929190617918565b602060405180830381865afa158015612346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236a9190617996565b6123ad5780336040517f4d13139e0000000000000000000000000000000000000000000000000000000081526004016123a4929190617918565b60405180910390fd5b5b50565b5f60025f8381526020019081526020015f205f9054906101000a900460ff1661241157816040517f850a796d0000000000000000000000000000000000000000000000000000000081526004016124089190616bbd565b60405180910390fd5b5f61241b83613cd0565b90508060015f8581526020019081526020015f205416915050919050565b5f61244383613cd0565b9050612452838284165f613ced565b505050565b5f5f73ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036124b557600190506126a8565b5f86866040516020016124c9929190617e29565b6040516020818303038152906040528051906020012090505f5f6125308388888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050613d8e565b50915091505f6003811115612548576125476177d6565b5b81600381111561255b5761255a6177d6565b5b14158061259357505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156125db5784156125d0576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f93505050506126a8565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146126a05784156126955781600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f7ba5ffb500000000000000000000000000000000000000000000000000000000815260040161268c9291906178f1565b60405180910390fd5b5f93505050506126a8565b600193505050505b95945050505050565b60606002601f8111156126c7576126c66177d6565b5b82601f8111156126da576126d96177d6565b5b0361271c576040518060400160405280600481526020017f63617374000000000000000000000000000000000000000000000000000000008152509050613241565b6003601f8111156127305761272f6177d6565b5b82601f811115612743576127426177d6565b5b03612785576040518060400160405280600a81526020017f7365616c4f7574707574000000000000000000000000000000000000000000008152509050613241565b6004601f811115612799576127986177d6565b5b82601f8111156127ac576127ab6177d6565b5b036127ee576040518060400160405280600681526020017f73656c65637400000000000000000000000000000000000000000000000000008152509050613241565b6006601f811115612802576128016177d6565b5b82601f811115612815576128146177d6565b5b03612857576040518060400160405280600781526020017f64656372797074000000000000000000000000000000000000000000000000008152509050613241565b6007601f81111561286b5761286a6177d6565b5b82601f81111561287e5761287d6177d6565b5b036128c0576040518060400160405280600381526020017f73756200000000000000000000000000000000000000000000000000000000008152509050613241565b6008601f8111156128d4576128d36177d6565b5b82601f8111156128e7576128e66177d6565b5b03612929576040518060400160405280600381526020017f61646400000000000000000000000000000000000000000000000000000000008152509050613241565b6009601f81111561293d5761293c6177d6565b5b82601f8111156129505761294f6177d6565b5b03612992576040518060400160405280600381526020017f786f7200000000000000000000000000000000000000000000000000000000008152509050613241565b600a601f8111156129a6576129a56177d6565b5b82601f8111156129b9576129b86177d6565b5b036129fb576040518060400160405280600381526020017f616e6400000000000000000000000000000000000000000000000000000000008152509050613241565b600b601f811115612a0f57612a0e6177d6565b5b82601f811115612a2257612a216177d6565b5b03612a64576040518060400160405280600281526020017f6f720000000000000000000000000000000000000000000000000000000000008152509050613241565b600c601f811115612a7857612a776177d6565b5b82601f811115612a8b57612a8a6177d6565b5b03612acd576040518060400160405280600381526020017f6e6f7400000000000000000000000000000000000000000000000000000000008152509050613241565b600d601f811115612ae157612ae06177d6565b5b82601f811115612af457612af36177d6565b5b03612b36576040518060400160405280600381526020017f64697600000000000000000000000000000000000000000000000000000000008152509050613241565b600e601f811115612b4a57612b496177d6565b5b82601f811115612b5d57612b5c6177d6565b5b03612b9f576040518060400160405280600381526020017f72656d00000000000000000000000000000000000000000000000000000000008152509050613241565b600f601f811115612bb357612bb26177d6565b5b82601f811115612bc657612bc56177d6565b5b03612c08576040518060400160405280600381526020017f6d756c00000000000000000000000000000000000000000000000000000000008152509050613241565b6010601f811115612c1c57612c1b6177d6565b5b82601f811115612c2f57612c2e6177d6565b5b03612c71576040518060400160405280600381526020017f73686c00000000000000000000000000000000000000000000000000000000008152509050613241565b6011601f811115612c8557612c846177d6565b5b82601f811115612c9857612c976177d6565b5b03612cda576040518060400160405280600381526020017f73687200000000000000000000000000000000000000000000000000000000008152509050613241565b6012601f811115612cee57612ced6177d6565b5b82601f811115612d0157612d006177d6565b5b03612d43576040518060400160405280600381526020017f67746500000000000000000000000000000000000000000000000000000000008152509050613241565b6013601f811115612d5757612d566177d6565b5b82601f811115612d6a57612d696177d6565b5b03612dac576040518060400160405280600381526020017f6c746500000000000000000000000000000000000000000000000000000000008152509050613241565b6014601f811115612dc057612dbf6177d6565b5b82601f811115612dd357612dd26177d6565b5b03612e15576040518060400160405280600281526020017f6c740000000000000000000000000000000000000000000000000000000000008152509050613241565b6015601f811115612e2957612e286177d6565b5b82601f811115612e3c57612e3b6177d6565b5b03612e7e576040518060400160405280600281526020017f67740000000000000000000000000000000000000000000000000000000000008152509050613241565b6016601f811115612e9257612e916177d6565b5b82601f811115612ea557612ea46177d6565b5b03612ee7576040518060400160405280600381526020017f6d696e00000000000000000000000000000000000000000000000000000000008152509050613241565b6017601f811115612efb57612efa6177d6565b5b82601f811115612f0e57612f0d6177d6565b5b03612f50576040518060400160405280600381526020017f6d617800000000000000000000000000000000000000000000000000000000008152509050613241565b6018601f811115612f6457612f636177d6565b5b82601f811115612f7757612f766177d6565b5b03612fb9576040518060400160405280600281526020017f65710000000000000000000000000000000000000000000000000000000000008152509050613241565b6019601f811115612fcd57612fcc6177d6565b5b82601f811115612fe057612fdf6177d6565b5b03613022576040518060400160405280600281526020017f6e650000000000000000000000000000000000000000000000000000000000008152509050613241565b601a601f811115613036576130356177d6565b5b82601f811115613049576130486177d6565b5b0361308b576040518060400160405280600e81526020017f7472697669616c456e63727970740000000000000000000000000000000000008152509050613241565b601b601f81111561309f5761309e6177d6565b5b82601f8111156130b2576130b16177d6565b5b036130f4576040518060400160405280600681526020017f72616e646f6d00000000000000000000000000000000000000000000000000008152509050613241565b601c601f811115613108576131076177d6565b5b82601f81111561311b5761311a6177d6565b5b0361315d576040518060400160405280600381526020017f726f6c00000000000000000000000000000000000000000000000000000000008152509050613241565b601d601f811115613171576131706177d6565b5b82601f811115613184576131836177d6565b5b036131c6576040518060400160405280600381526020017f726f7200000000000000000000000000000000000000000000000000000000008152509050613241565b601e601f8111156131da576131d96177d6565b5b82601f8111156131ed576131ec6177d6565b5b0361322f576040518060400160405280600681526020017f73717561726500000000000000000000000000000000000000000000000000008152509050613241565b60405180602001604052805f81525090505b919050565b5f613250826126b1565b90505f8351036132aa5761326382613de3565b6132a457806040517fb31612aa00000000000000000000000000000000000000000000000000000000815260040161329b9190617291565b60405180910390fd5b506134bc565b6004601f8111156132be576132bd6177d6565b5b82601f8111156132d1576132d06177d6565b5b036132e4576132df83613e42565b613414565b6132ed82613f83565b1561334357600183511461333e5780835160016040517f9a84351c00000000000000000000000000000000000000000000000000000000815260040161333593929190617e8d565b60405180910390fd5b613413565b600283511461338f5780835160026040517f9a84351c00000000000000000000000000000000000000000000000000000000815260040161338693929190617f02565b60405180910390fd5b5f6133d0846001815181106133a7576133a66179c1565b5b6020026020010151855f815181106133c2576133c16179c1565b5b602002602001015118614011565b1461341257806040517f52b50ae10000000000000000000000000000000000000000000000000000000081526004016134099190617291565b60405180910390fd5b5b5b5f613438845f8151811061342b5761342a6179c1565b5b602002602001015161402f565b905061344381613a47565b6134a55780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf3600000000000000000000000000000000000000000000000000000000815260040161349c939291906178bc565b60405180910390fd5b6134ae8461403f565b6134b983838661408d565b50505b5050565b60605f825184516134d19190617741565b67ffffffffffffffff8111156134ea576134e96169da565b5b6040519080825280602002602001820160405280156135185781602001602082028036833780820191505090505b5090505f5f90505b84518160ff16101561357f57848160ff1681518110613542576135416179c1565b5b6020026020010151828260ff16815181106135605761355f6179c1565b5b602002602001018181525050808061357790617f3e565b915050613520565b5b8351855161358e9190617741565b8160ff1610156135f7578385518260ff166135a99190617dd6565b815181106135ba576135b96179c1565b5b6020026020010151828260ff16815181106135d8576135d76179c1565b5b60200260200101818152505080806135ef90617f3e565b915050613580565b819250505092915050565b5f61360c84613de3565b156136405781600183516136209190617dd6565b81518110613631576136306179c1565b5b60200260200101519050613666565b613663835f81518110613656576136556179c1565b5b602002602001015161402f565b90505b9392505050565b5f60605f601a601f811115613685576136846177d6565b5b84601f811115613698576136976177d6565b5b1490505f5f90505b85518160ff16101561370857826136d3878360ff16815181106136c6576136c56179c1565b5b60200260200101516141fb565b6040516020016136e4929190617fa0565b6040516020818303038152906040529250808061370090617f3e565b9150506136a0565b50601e601f81111561371d5761371c6177d6565b5b84601f8111156137305761372f6177d6565b5b0361378057600f93508161375d865f815181106137505761374f6179c1565b5b60200260200101516141fb565b60405160200161376e929190617fa0565b60405160208183030381529060405291505b5f84601f811115613794576137936177d6565b5b60f81b905082816040516020016137ac92919061800e565b60405160208183030381529060405292505f838051906020012090505f6137e0825f1c8a6137da8a8e61425d565b87613b4c565b90508095505050505050949350505050565b6001815114806138095750613808826002614388565b5b15613891577fe9de54a3e7ddf0c48cc6e1134185300d5a71acbf2d8c21fcdefa9d9dd9e20ac18383835f81518110613844576138436179c1565b5b60200260200101515f5f60405161385f95949392919061806e565b60405180910390a161388c8383835f8151811061387f5761387e6179c1565b5b60200260200101516143a3565b613a42565b6002815103613954577fe9de54a3e7ddf0c48cc6e1134185300d5a71acbf2d8c21fcdefa9d9dd9e20ac18383835f815181106138d0576138cf6179c1565b5b6020026020010151846001815181106138ec576138eb6179c1565b5b60200260200101515f6040516139069594939291906180c6565b60405180910390a161394f8383835f81518110613926576139256179c1565b5b602002602001015184600181518110613942576139416179c1565b5b602002602001015161460a565b613a41565b7fe9de54a3e7ddf0c48cc6e1134185300d5a71acbf2d8c21fcdefa9d9dd9e20ac18383835f8151811061398a576139896179c1565b5b6020026020010151846001815181106139a6576139a56179c1565b5b6020026020010151856002815181106139c2576139c16179c1565b5b60200260200101516040516139db95949392919061811e565b60405180910390a1613a408383835f815181106139fb576139fa6179c1565b5b602002602001015184600181518110613a1757613a166179c1565b5b602002602001015185600281518110613a3357613a326179c1565b5b6020026020010151615436565b5b5b505050565b5f600760049054906101000a900460030b60030b8260030b12158015613a81575060075f9054906101000a900460030b60030b8260030b13155b9050919050565b5f5f835f0151846040015185602001518546604051602001613aae9594939291906181ef565b60405160208183030381529060405290505f818051906020012090505f613ad98287606001516155dd565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613b40576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80935050505092915050565b5f61ffff80167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b7d9190617dd6565b851690505f8460ff166008613b928587615607565b901b179050808217915050949350505050565b5f600160ff8016901c60ff1660ff8016613bbf9190617dd6565b600160ff8016901c60ff1660ff8016613bd89190617dd6565b8316149050919050565b5f5f9054906101000a900460ff1615613ccb57613cca6040518060400160405280600481526020017fe2949c2000000000000000000000000000000000000000000000000000000000815250613c5a8560107f2000000000000000000000000000000000000000000000000000000000000000615646565b6040518060400160405280600381526020017f207c200000000000000000000000000000000000000000000000000000000000815250613c998661578d565b613ca286615929565b604051602001613cb69594939291906182ad565b604051602081830303815290604052615956565b5b505050565b5f5f613cdb836159ef565b90506001816001901b03915050919050565b8160015f8581526020019081526020015f2081905550600160025f8581526020019081526020015f205f6101000a81548160ff0219169083151502179055508015613d8957613d886040518060400160405280600381526020017f736574000000000000000000000000000000000000000000000000000000000081525060405180602001604052805f815250613d838661578d565b615ac6565b5b505050565b5f5f5f6041845103613dce575f5f5f602087015192506040870151915060608701515f1a9050613dc088828585615ba4565b955095509550505050613ddc565b5f600285515f1b9250925092505b9250925092565b5f601b601f811115613df857613df76177d6565b5b82601f811115613e0b57613e0a6177d6565b5b1480613e3b5750601a601f811115613e2657613e256177d6565b5b82601f811115613e3957613e386177d6565b5b145b9050919050565b6003815114613e8c57805160036040517f9a84351c000000000000000000000000000000000000000000000000000000008152600401613e83929190618350565b60405180910390fd5b5f613ece82600281518110613ea457613ea36179c1565b5b602002602001015183600181518110613ec057613ebf6179c1565b5b602002602001015118614011565b14613f0e576040517f52b50ae1000000000000000000000000000000000000000000000000000000008152600401613f059061838a565b60405180910390fd5b5f613f32825f81518110613f2557613f246179c1565b5b6020026020010151615c8b565b90505f5f821860ff1614613f7f57805f6040517f884a0e9d000000000000000000000000000000000000000000000000000000008152600401613f769291906183a8565b60405180910390fd5b5050565b5f600c601f811115613f9857613f976177d6565b5b82601f811115613fab57613faa6177d6565b5b1480613fdb5750601e601f811115613fc657613fc56177d6565b5b82601f811115613fd957613fd86177d6565b5b145b8061400a57506002601f811115613ff557613ff46177d6565b5b82601f811115614008576140076177d6565b5b145b9050919050565b5f8160ff80166008600160ff8016901c60ff16901b17169050919050565b5f60ff801682165f0b9050919050565b5f5f90505b81518160ff16101561408957614076828260ff1681518110614069576140686179c1565b5b60200260200101516122c2565b808061408190617f3e565b915050614044565b5050565b61409683615ca7565b6141f6576140a383615d64565b15614149575f5f90505b81518160ff161015614143575f6140e0838360ff16815181106140d3576140d26179c1565b5b6020026020010151615c8b565b90505f6007821860ff160361412f578360076040517f91b4b3780000000000000000000000000000000000000000000000000000000081526004016141269291906183cf565b60405180910390fd5b50808061413b90617f3e565b9150506140ad565b506141f5565b5f5f90505b81518160ff1610156141f3575f614181838360ff1681518110614174576141736179c1565b5b6020026020010151615c8b565b90505f6007821860ff16148061419b57505f5f821860ff16145b156141df5783816040517f91b4b3780000000000000000000000000000000000000000000000000000000081526004016141d69291906183cf565b60405180910390fd5b5080806141eb90617f3e565b91505061414e565b505b5b505050565b60605f602067ffffffffffffffff811115614219576142186169da565b5b6040519080825280601f01601f19166020018201604052801561424b5781602001600182028036833780820191505090505b50905082602082015280915050919050565b5f6013601f811115614272576142716177d6565b5b83601f811115614285576142846177d6565b5b14806142b557506014601f8111156142a05761429f6177d6565b5b83601f8111156142b3576142b26177d6565b5b145b806142e457506012601f8111156142cf576142ce6177d6565b5b83601f8111156142e2576142e16177d6565b5b145b8061431357506015601f8111156142fe576142fd6177d6565b5b83601f811115614311576143106177d6565b5b145b8061434257506018601f81111561432d5761432c6177d6565b5b83601f8111156143405761433f6177d6565b5b145b8061437157506019601f81111561435c5761435b6177d6565b5b83601f81111561436f5761436e6177d6565b5b145b1561437e575f9050614382565b8190505b92915050565b5f61439b83614396846126b1565b615e21565b905092915050565b6143ae82601b614388565b15614427576143cc836001436143c49190617dd6565b405f1c612439565b6144226040518060400160405280600a81526020017f4648452e72616e646f6d0000000000000000000000000000000000000000000081525060405180602001604052805f81525061441d8661578d565b615ac6565b614605565b614432826002614388565b1561449e5761444983614444836123b1565b612439565b6144996040518060400160405280600881526020017f4648452e6361737400000000000000000000000000000000000000000000000081525061448b8361578d565b6144948661578d565b615ac6565b614605565b6144a982600c614388565b1561451e575f60016144ba836123b1565b1490506144c8848215615e79565b6145186040518060400160405280600781526020017f4648452e6e6f740000000000000000000000000000000000000000000000000081525061450a8461578d565b6145138761578d565b615ac6565b50614605565b61452982601e614388565b156145c85761454a8361453b836123b1565b614544846123b1565b02612439565b6145c36040518060400160405280600a81526020017f4648452e7371756172650000000000000000000000000000000000000000000081525061458c8361578d565b6145958461578d565b6040516020016145a6929190618423565b6040516020818303038152906040526145be8661578d565b615ac6565b614605565b816040517fd952ce7c0000000000000000000000000000000000000000000000000000000081526004016145fc9190617291565b60405180910390fd5b505050565b614615836007614388565b156146b45761463684614627836123b1565b614630856123b1565b03612439565b6146af6040518060400160405280600781526020017f4648452e737562000000000000000000000000000000000000000000000000008152506146788461578d565b6146818461578d565b60405160200161469292919061847b565b6040516020818303038152906040526146aa8761578d565b615ac6565b615430565b6146bf836008614388565b1561475e576146e0846146d1836123b1565b6146da856123b1565b01612439565b6147596040518060400160405280600781526020017f4648452e616464000000000000000000000000000000000000000000000000008152506147228461578d565b61472b8461578d565b60405160200161473c9291906184d3565b6040516020818303038152906040526147548761578d565b615ac6565b615430565b614769836009614388565b156148085761478a8461477b836123b1565b614784856123b1565b18612439565b6148036040518060400160405280600781526020017f4648452e786f72000000000000000000000000000000000000000000000000008152506147cc8461578d565b6147d58461578d565b6040516020016147e692919061852b565b6040516020818303038152906040526147fe8761578d565b615ac6565b615430565b61481383600a614388565b156148b25761483484614825836123b1565b61482e856123b1565b16612439565b6148ad6040518060400160405280600781526020017f4648452e616e64000000000000000000000000000000000000000000000000008152506148768461578d565b61487f8461578d565b604051602001614890929190618583565b6040516020818303038152906040526148a88761578d565b615ac6565b615430565b6148bd83600b614388565b1561495c576148de846148cf836123b1565b6148d8856123b1565b17612439565b6149576040518060400160405280600681526020017f4648452e6f7200000000000000000000000000000000000000000000000000008152506149208461578d565b6149298461578d565b60405160200161493a9291906185db565b6040516020818303038152906040526149528761578d565b615ac6565b615430565b61496783600d614388565b15614a50575f614976826123b1565b90505f81036149ae576149a9857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612439565b6149d1565b6149d085826149bc866123b1565b816149ca576149c96176b7565b5b04612439565b5b614a4a6040518060400160405280600781526020017f4648452e64697600000000000000000000000000000000000000000000000000815250614a138561578d565b614a1c8561578d565b604051602001614a2d929190618633565b604051602081830303815290604052614a458861578d565b615ac6565b50615430565b614a5b83600e614388565b15614b0857614a8a84614a6d836123b1565b614a76856123b1565b81614a8457614a836176b7565b5b06612439565b614b036040518060400160405280600781526020017f4648452e72656d00000000000000000000000000000000000000000000000000815250614acc8461578d565b614ad58461578d565b604051602001614ae692919061868b565b604051602081830303815290604052614afe8761578d565b615ac6565b615430565b614b1383600f614388565b15614bb257614b3484614b25836123b1565b614b2e856123b1565b02612439565b614bad6040518060400160405280600781526020017f4648452e6d756c00000000000000000000000000000000000000000000000000815250614b768461578d565b614b7f8461578d565b604051602001614b90929190618423565b604051602081830303815290604052614ba88761578d565b615ac6565b615430565b614bbd836010614388565b15614c5d57614bdf84614bcf836123b1565b614bd8856123b1565b901b612439565b614c586040518060400160405280600781526020017f4648452e73686c00000000000000000000000000000000000000000000000000815250614c218461578d565b614c2a8461578d565b604051602001614c3b9291906186e3565b604051602081830303815290604052614c538761578d565b615ac6565b615430565b614c68836011614388565b15614d0857614c8a84614c7a836123b1565b614c83856123b1565b901c612439565b614d036040518060400160405280600781526020017f4648452e73687200000000000000000000000000000000000000000000000000815250614ccc8461578d565b614cd58461578d565b604051602001614ce692919061873b565b604051602081830303815290604052614cfe8761578d565b615ac6565b615430565b614d13836012614388565b15614db357614d3584614d25836123b1565b614d2e856123b1565b1015615e79565b614dae6040518060400160405280600781526020017f4648452e67746500000000000000000000000000000000000000000000000000815250614d778461578d565b614d808461578d565b604051602001614d91929190618793565b604051602081830303815290604052614da98761578d565b615ac6565b615430565b614dbe836013614388565b15614e5e57614de084614dd0836123b1565b614dd9856123b1565b1115615e79565b614e596040518060400160405280600781526020017f4648452e6c746500000000000000000000000000000000000000000000000000815250614e228461578d565b614e2b8461578d565b604051602001614e3c9291906187eb565b604051602081830303815290604052614e548761578d565b615ac6565b615430565b614e69836014614388565b15614f0857614e8a84614e7b836123b1565b614e84856123b1565b10615e79565b614f036040518060400160405280600681526020017f4648452e6c740000000000000000000000000000000000000000000000000000815250614ecc8461578d565b614ed58461578d565b604051602001614ee6929190618843565b604051602081830303815290604052614efe8761578d565b615ac6565b615430565b614f13836015614388565b15614fb257614f3484614f25836123b1565b614f2e856123b1565b11615e79565b614fad6040518060400160405280600681526020017f4648452e67740000000000000000000000000000000000000000000000000000815250614f768461578d565b614f7f8461578d565b604051602001614f9092919061889b565b604051602081830303815290604052614fa88761578d565b615ac6565b615430565b614fbd836016614388565b1561507d575f614fcc826123b1565b614fd5846123b1565b10614fe857614fe3826123b1565b614ff2565b614ff1836123b1565b5b9050614ffe8582612439565b6150776040518060400160405280600781526020017f4648452e6d696e000000000000000000000000000000000000000000000000008152506150408561578d565b6150498561578d565b60405160200161505a92919061893f565b6040516020818303038152906040526150728861578d565b615ac6565b50615430565b615088836017614388565b15615148575f615097826123b1565b6150a0846123b1565b116150b3576150ae826123b1565b6150bd565b6150bc836123b1565b5b90506150c98582612439565b6151426040518060400160405280600781526020017f4648452e6d61780000000000000000000000000000000000000000000000000081525061510b8561578d565b6151148561578d565b6040516020016151259291906189b5565b60405160208183030381529060405261513d8861578d565b615ac6565b50615430565b615153836018614388565b156151f25761517484615165836123b1565b61516e856123b1565b14615e79565b6151ed6040518060400160405280600681526020017f4648452e657100000000000000000000000000000000000000000000000000008152506151b68461578d565b6151bf8461578d565b6040516020016151d0929190618a2b565b6040516020818303038152906040526151e88761578d565b615ac6565b615430565b6151fd836019614388565b1561529d5761521f8461520f836123b1565b615218856123b1565b1415615e79565b6152986040518060400160405280600681526020017f4648452e6e6500000000000000000000000000000000000000000000000000008152506152618461578d565b61526a8461578d565b60405160200161527b929190618a83565b6040516020818303038152906040526152938761578d565b615ac6565b615430565b6152a883601c614388565b15615348576152ca846152ba836123b1565b6152c3856123b1565b901b612439565b6153436040518060400160405280600781526020017f4648452e726f6c0000000000000000000000000000000000000000000000000081525061530c8461578d565b6153158461578d565b6040516020016153269291906186e3565b60405160208183030381529060405261533e8761578d565b615ac6565b615430565b61535383601d614388565b156153f35761537584615365836123b1565b61536e856123b1565b901c612439565b6153ee6040518060400160405280600781526020017f4648452e726f72000000000000000000000000000000000000000000000000008152506153b78461578d565b6153c08461578d565b6040516020016153d192919061873b565b6040516020818303038152906040526153e98761578d565b615ac6565b615430565b826040517fcef608850000000000000000000000000000000000000000000000000000000081526004016154279190617291565b60405180910390fd5b50505050565b61544184601a614388565b156154d0576154508584612439565b6154cb61546461545f87615e97565b611fe1565b6040516020016154749190618adb565b60405160208183030381529060405261549461548f88615e97565b611fe1565b61549d86616143565b6040516020016154ae929190618b26565b6040516020818303038152906040526154c68861578d565b615ac6565b6155d6565b6154db846004614388565b15615599576155118560016154ef866123b1565b14615502576154fd836123b1565b61550c565b61550b846123b1565b5b612439565b6155946040518060400160405280600a81526020017f4648452e73656c656374000000000000000000000000000000000000000000008152506155538561578d565b61555c8561578d565b6155658561578d565b60405160200161557793929190618bb3565b60405160208183030381529060405261558f8861578d565b615ac6565b6155d6565b836040517f5e45fa010000000000000000000000000000000000000000000000000000000081526004016155cd9190617291565b60405180910390fd5b5050505050565b5f5f5f5f6155eb8686613d8e565b9250925092506155fb828261620d565b82935050505092915050565b5f600160ff8016901c60ff168260ff161683615623575f61563d565b600160ff8016901c60ff1660ff801661563c9190617dd6565b5b17905092915050565b60605f8490508381511061565d5784915050615786565b5f8467ffffffffffffffff811115615678576156776169da565b5b6040519080825280601f01601f1916602001820160405280156156aa5781602001600182028036833780820191505090505b5090505f5f90505b8251811015615727578281815181106156ce576156cd6179c1565b5b602001015160f81c60f81b8282815181106156ec576156eb6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080806001019150506156b2565b5b8581101561577f5784828281518110615744576157436179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053508080600101915050615728565b8193505050505b9392505050565b60605f61579983616143565b90505f81519050600681116157b2578192505050615924565b5f60025f8681526020019081526020015f205f9054906101000a900460ff1690505f60015f8781526020019081526020015f205490505f6157f28761636f565b90505f816158085761580383616143565b615883565b6001831461584b576040518060400160405280600581526020017f66616c7365000000000000000000000000000000000000000000000000000000815250615882565b6040518060400160405280600481526020017f74727565000000000000000000000000000000000000000000000000000000008152505b5b90505f61588f89615e97565b61589b885f6004611730565b6158b38960048a6158ac9190617dd6565b6004611730565b876158f3576040518060400160405280600581526020017f454d5054590000000000000000000000000000000000000000000000000000008152506158f5565b845b6040516020016159089493929190618c73565b6040516020818303038152906040529050809750505050505050505b919050565b606061594f8273ffffffffffffffffffffffffffffffffffffffff16601460ff1661638c565b9050919050565b6159ec8160405160240161596a9190617291565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506165ca565b50565b5f5f6159fa836165e4565b90505f60ff168160ff1603615a13576008915050615ac1565b600260ff168160ff1603615a2b576008915050615ac1565b600360ff168160ff1603615a43576010915050615ac1565b600460ff168160ff1603615a5b576020915050615ac1565b600560ff168160ff1603615a73576040915050615ac1565b600660ff168160ff1603615a8b576080915050615ac1565b600860ff168160ff1603615aa457610100915050615ac1565b600760ff168160ff1603615abc5760a0915050615ac1565b5f9150505b919050565b5f5f9054906101000a900460ff1615615b9f57615b9e6040518060400160405280600481526020017fe2949c2000000000000000000000000000000000000000000000000000000000815250615b3e8560107f2000000000000000000000000000000000000000000000000000000000000000615646565b6040518060400160405280600381526020017f207c2000000000000000000000000000000000000000000000000000000000008152508585604051602001615b8a959493929190618d12565b604051602081830303815290604052615956565b5b505050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115615be0575f600385925092509250615c81565b5f6001888888886040515f8152602001604052604051615c039493929190618d7a565b6020604051602081039080840390855afa158015615c23573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603615c74575f60015f5f1b93509350935050615c81565b805f5f5f1b935093509350505b9450945094915050565b5f600880600160ff8016901c60ff16901b8316901c9050919050565b5f6004601f811115615cbc57615cbb6177d6565b5b82601f811115615ccf57615cce6177d6565b5b1480615cff57506018601f811115615cea57615ce96177d6565b5b82601f811115615cfd57615cfc6177d6565b5b145b80615d2e57506019601f811115615d1957615d186177d6565b5b82601f811115615d2c57615d2b6177d6565b5b145b80615d5d57506002601f811115615d4857615d476177d6565b5b82601f811115615d5b57615d5a6177d6565b5b145b9050919050565b5f6009601f811115615d7957615d786177d6565b5b82601f811115615d8c57615d8b6177d6565b5b1480615dbc5750600a601f811115615da757615da66177d6565b5b82601f811115615dba57615db96177d6565b5b145b80615deb5750600b601f811115615dd657615dd56177d6565b5b82601f811115615de957615de86177d6565b5b145b80615e1a5750600c601f811115615e0557615e046177d6565b5b82601f811115615e1857615e176177d6565b5b145b9050919050565b5f81604051602001615e339190618dbd565b6040516020818303038152906040528051906020012083604051602001615e5a9190618dbd565b6040516020818303038152906040528051906020012014905092915050565b615e938282615e88575f615e8b565b60015b60ff16612439565b5050565b60605f615ea3836165e4565b90505f60ff168160ff1603615ef0576040518060400160405280600581526020017f65626f6f6c00000000000000000000000000000000000000000000000000000081525091505061613e565b600260ff168160ff1603615f3c576040518060400160405280600681526020017f6575696e7438000000000000000000000000000000000000000000000000000081525091505061613e565b600360ff168160ff1603615f88576040518060400160405280600781526020017f6575696e7431360000000000000000000000000000000000000000000000000081525091505061613e565b600460ff168160ff1603615fd4576040518060400160405280600781526020017f6575696e7433320000000000000000000000000000000000000000000000000081525091505061613e565b600560ff168160ff1603616020576040518060400160405280600781526020017f6575696e7436340000000000000000000000000000000000000000000000000081525091505061613e565b600660ff168160ff160361606c576040518060400160405280600881526020017f6575696e7431323800000000000000000000000000000000000000000000000081525091505061613e565b600860ff168160ff16036160b8576040518060400160405280600881526020017f6575696e7432353600000000000000000000000000000000000000000000000081525091505061613e565b600760ff168160ff1603616104576040518060400160405280600881526020017f656164647265737300000000000000000000000000000000000000000000000081525091505061613e565b6040518060400160405280600781526020017f756e6b6e6f776e000000000000000000000000000000000000000000000000008152509150505b919050565b60605f600161615184616600565b0190505f8167ffffffffffffffff81111561616f5761616e6169da565b5b6040519080825280601f01601f1916602001820160405280156161a15781602001600182028036833780820191505090505b5090505f82602083010190505b600115616202578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816161f7576161f66176b7565b5b0494505f85036161ae575b819350505050919050565b5f60038111156162205761621f6177d6565b5b826003811115616233576162326177d6565b5b031561636b576001600381111561624d5761624c6177d6565b5b8260038111156162605761625f6177d6565b5b03616297576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156162ab576162aa6177d6565b5b8260038111156162be576162bd6177d6565b5b0361630257805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016162f99190616bbd565b60405180910390fd5b600380811115616315576163146177d6565b5b826003811115616328576163276177d6565b5b0361636a57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016163619190618dd3565b60405180910390fd5b5b5050565b5f5f61637a836165e4565b90505f5f821860ff1614915050919050565b60605f8390505f60028460026163a29190618dec565b6163ac9190617741565b67ffffffffffffffff8111156163c5576163c46169da565b5b6040519080825280601f01601f1916602001820160405280156163f75781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061642e5761642d6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110616491576164906179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f60018560026164cf9190618dec565b6164d99190617741565b90505b6001811115616578577f3031323334353637383961626364656600000000000000000000000000000000600f84166010811061651b5761651a6179c1565b5b1a60f81b828281518110616532576165316179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600483901c92508061657190618e2d565b90506164dc565b505f82146165bf5784846040517fe22e27eb0000000000000000000000000000000000000000000000000000000081526004016165b69291906177af565b60405180910390fd5b809250505092915050565b6165e1816165d9616751616770565b63ffffffff16565b50565b5f600880600160ff8016901c60ff16901b8316901c9050919050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061665c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381616652576166516176b7565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310616699576d04ee2d6d415b85acef8100000000838161668f5761668e6176b7565b5b0492506020810190505b662386f26fc1000083106166c857662386f26fc1000083816166be576166bd6176b7565b5b0492506010810190505b6305f5e10083106166f1576305f5e10083816166e7576166e66176b7565b5b0492506008810190505b612710831061671657612710838161670c5761670b6176b7565b5b0492506004810190505b60648310616739576064838161672f5761672e6176b7565b5b0492506002810190505b600a8310616748576001810190505b80915050919050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b61677b819050919050565b616783618e54565b565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6167a881616796565b81146167b2575f5ffd5b50565b5f813590506167c38161679f565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6167f2826167c9565b9050919050565b616802816167e8565b811461680c575f5ffd5b50565b5f8135905061681d816167f9565b92915050565b5f5f604083850312156168395761683861678e565b5b5f616846858286016167b5565b92505060206168578582860161680f565b9150509250929050565b5f5f604083850312156168775761687661678e565b5b5f616884858286016167b5565b9250506020616895858286016167b5565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126168c0576168bf61689f565b5b8235905067ffffffffffffffff8111156168dd576168dc6168a3565b5b6020830191508360018202830111156168f9576168f86168a7565b5b9250929050565b5f5f5f5f606085870312156169185761691761678e565b5b5f616925878288016167b5565b9450506020616936878288016167b5565b935050604085013567ffffffffffffffff81111561695757616956616792565b5b616963878288016168ab565b925092505092959194509250565b5f60ff82169050919050565b61698681616971565b8114616990575f5ffd5b50565b5f813590506169a18161697d565b92915050565b602081106169b3575f5ffd5b50565b5f813590506169c4816169a7565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b616a10826169ca565b810181811067ffffffffffffffff82111715616a2f57616a2e6169da565b5b80604052505050565b5f616a41616785565b9050616a4d8282616a07565b919050565b5f67ffffffffffffffff821115616a6c57616a6b6169da565b5b602082029050602081019050919050565b5f616a8f616a8a84616a52565b616a38565b90508083825260208201905060208402830185811115616ab257616ab16168a7565b5b835b81811015616adb5780616ac788826167b5565b845260208401935050602081019050616ab4565b5050509392505050565b5f82601f830112616af957616af861689f565b5b8135616b09848260208601616a7d565b91505092915050565b5f5f5f5f60808587031215616b2a57616b2961678e565b5b5f616b3787828801616993565b9450506020616b48878288016169b6565b935050604085013567ffffffffffffffff811115616b6957616b68616792565b5b616b7587828801616ae5565b925050606085013567ffffffffffffffff811115616b9657616b95616792565b5b616ba287828801616ae5565b91505092959194509250565b616bb781616796565b82525050565b5f602082019050616bd05f830184616bae565b92915050565b5f60208284031215616beb57616bea61678e565b5b5f616bf8848285016167b5565b91505092915050565b5f8115159050919050565b616c1581616c01565b82525050565b5f602082019050616c2e5f830184616c0c565b92915050565b616c3d816167e8565b82525050565b5f602082019050616c565f830184616c34565b92915050565b5f60208284031215616c7157616c7061678e565b5b5f616c7e8482850161680f565b91505092915050565b5f8160030b9050919050565b616c9c81616c87565b8114616ca6575f5ffd5b50565b5f81359050616cb781616c93565b92915050565b5f5f60408385031215616cd357616cd261678e565b5b5f616ce085828601616ca9565b9250506020616cf185828601616ca9565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f67ffffffffffffffff821115616d2157616d206169da565b5b616d2a826169ca565b9050602081019050919050565b828183375f83830152505050565b5f616d57616d5284616d07565b616a38565b905082815260208101848484011115616d7357616d72616d03565b5b616d7e848285616d37565b509392505050565b5f82601f830112616d9a57616d9961689f565b5b8135616daa848260208601616d45565b91505092915050565b5f60808284031215616dc857616dc7616cfb565b5b616dd26080616a38565b90505f616de1848285016167b5565b5f830152506020616df484828501616993565b6020830152506040616e0884828501616993565b604083015250606082013567ffffffffffffffff811115616e2c57616e2b616cff565b5b616e3884828501616d86565b60608301525092915050565b5f5f60408385031215616e5a57616e5961678e565b5b5f83013567ffffffffffffffff811115616e7757616e76616792565b5b616e8385828601616db3565b9250506020616e948582860161680f565b9150509250929050565b5f604082019050616eb15f830185616bae565b616ebe6020830184616c0c565b9392505050565b5f67ffffffffffffffff821115616edf57616ede6169da565b5b616ee8826169ca565b9050602081019050919050565b5f616f07616f0284616ec5565b616a38565b905082815260208101848484011115616f2357616f22616d03565b5b616f2e848285616d37565b509392505050565b5f82601f830112616f4a57616f4961689f565b5b8135616f5a848260208601616ef5565b91505092915050565b5f5f5f60608486031215616f7a57616f7961678e565b5b5f616f87868287016167b5565b935050602084013567ffffffffffffffff811115616fa857616fa7616792565b5b616fb486828701616f36565b925050604084013567ffffffffffffffff811115616fd557616fd4616792565b5b616fe186828701616f36565b9150509250925092565b5f6020828403121561700057616fff61678e565b5b5f61700d84828501616ca9565b91505092915050565b61701f81616c01565b8114617029575f5ffd5b50565b5f8135905061703a81617016565b92915050565b5f602082840312156170555761705461678e565b5b5f6170628482850161702c565b91505092915050565b5f5f83601f8401126170805761707f61689f565b5b8235905067ffffffffffffffff81111561709d5761709c6168a3565b5b6020830191508360208202830111156170b9576170b86168a7565b5b9250929050565b5f5f83601f8401126170d5576170d461689f565b5b8235905067ffffffffffffffff8111156170f2576170f16168a3565b5b60208301915083602082028301111561710e5761710d6168a7565b5b9250929050565b5f5f5f5f5f5f6060878903121561712f5761712e61678e565b5b5f87013567ffffffffffffffff81111561714c5761714b616792565b5b61715889828a0161706b565b9650965050602087013567ffffffffffffffff81111561717b5761717a616792565b5b61718789828a0161706b565b9450945050604087013567ffffffffffffffff8111156171aa576171a9616792565b5b6171b689828a016170c0565b92509250509295509295509295565b5f5f5f606084860312156171dc576171db61678e565b5b5f84013567ffffffffffffffff8111156171f9576171f8616792565b5b61720586828701616f36565b9350506020617216868287016167b5565b9250506040617227868287016167b5565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61726382617231565b61726d818561723b565b935061727d81856020860161724b565b617286816169ca565b840191505092915050565b5f6020820190508181035f8301526172a98184617259565b905092915050565b5f5f5f606084860312156172c8576172c761678e565b5b5f6172d586828701616993565b93505060206172e6868287016167b5565b92505060406172f786828701616ca9565b9150509250925092565b5f5f83601f8401126173165761731561689f565b5b8235905067ffffffffffffffff811115617333576173326168a3565b5b60208301915083602082028301111561734f5761734e6168a7565b5b9250929050565b5f5f5f5f6060858703121561736e5761736d61678e565b5b5f61737b878288016167b5565b945050602061738c878288016167b5565b935050604085013567ffffffffffffffff8111156173ad576173ac616792565b5b6173b987828801617301565b925092505092959194509250565b5f5f5f606084860312156173de576173dd61678e565b5b5f84013567ffffffffffffffff8111156173fb576173fa616792565b5b61740786828701616f36565b9350506020617418868287016167b5565b92505060406174298682870161680f565b9150509250925092565b5f67ffffffffffffffff82169050919050565b61744f81617433565b8114617459575f5ffd5b50565b5f8135905061746a81617446565b92915050565b5f819050919050565b61748281617470565b811461748c575f5ffd5b50565b5f8135905061749d81617479565b92915050565b5f61010082840312156174b9576174b8616cfb565b5b6174c4610100616a38565b90505f6174d38482850161680f565b5f8301525060206174e68482850161745c565b60208301525060406174fa8482850161680f565b604083015250606061750e848285016167b5565b60608301525060806175228482850161680f565b60808301525060a06175368482850161748f565b60a08301525060c082013567ffffffffffffffff81111561755a57617559616cff565b5b61756684828501616d86565b60c08301525060e082013567ffffffffffffffff81111561758a57617589616cff565b5b61759684828501616d86565b60e08301525092915050565b5f5f604083850312156175b8576175b761678e565b5b5f83013567ffffffffffffffff8111156175d5576175d4616792565b5b6175e1858286016174a3565b92505060206175f2858286016167b5565b9150509250929050565b5f602082840312156176115761761061678e565b5b5f82013567ffffffffffffffff81111561762e5761762d616792565b5b61763a84828501616f36565b91505092915050565b5f819050919050565b5f61766661766161765c846167c9565b617643565b6167c9565b9050919050565b5f6176778261764c565b9050919050565b5f6176888261766d565b9050919050565b6176988161767e565b82525050565b5f6020820190506176b15f83018461768f565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6176ee82616796565b91506176f983616796565b925082617709576177086176b7565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61774b82616796565b915061775683616796565b925082820190508082111561776e5761776d617714565b5b92915050565b5f61777e82617433565b915061778983617433565b9250828201905067ffffffffffffffff8111156177a9576177a8617714565b5b92915050565b5f6040820190506177c25f830185616bae565b6177cf6020830184616bae565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f819050919050565b5f61782661782161781c84617803565b617643565b616796565b9050919050565b6178368161780c565b82525050565b5f6060820190508181035f8301526178548186617259565b90506178636020830185616bae565b617870604083018461782d565b949350505050565b5f60608201905061788b5f830186616bae565b6178986020830185616c34565b6178a56040830184616c34565b949350505050565b6178b681616c87565b82525050565b5f6060820190506178cf5f8301866178ad565b6178dc60208301856178ad565b6178e960408301846178ad565b949350505050565b5f6040820190506179045f830185616c34565b6179116020830184616c34565b9392505050565b5f60408201905061792b5f830185616bae565b6179386020830184616c34565b9392505050565b5f6060820190506179525f830186616bae565b81810360208301526179648185617259565b905081810360408301526179788184617259565b9050949350505050565b5f8151905061799081617016565b92915050565b5f602082840312156179ab576179aa61678e565b5b5f6179b884828501617982565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83356001602003843603038112617a1657617a156179ee565b5b80840192508235915067ffffffffffffffff821115617a3857617a376179f2565b5b602083019250600182023603831315617a5457617a536179f6565b5b509250929050565b5f82825260208201905092915050565b5f617a778385617a5c565b9350617a84838584616d37565b617a8d836169ca565b840190509392505050565b5f606082019050617aab5f830187616bae565b617ab86020830186616bae565b8181036040830152617acb818486617a6c565b905095945050505050565b7f4f7574206f6620626f756e6473000000000000000000000000000000000000005f82015250565b5f617b0a600d8361723b565b9150617b1582617ad6565b602082019050919050565b5f6020820190508181035f830152617b3781617afe565b9050919050565b617b4781616971565b82525050565b5f608082019050617b605f830187617b3e565b617b6d6020830186616bae565b617b7a60408301856178ad565b617b876060830184616bae565b95945050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b617bc281616796565b82525050565b5f617bd38383617bb9565b60208301905092915050565b5f602082019050919050565b5f617bf582617b90565b617bff8185617b9a565b9350617c0a83617baa565b805f5b83811015617c3a578151617c218882617bc8565b9750617c2c83617bdf565b925050600181019050617c0d565b5085935050505092915050565b5f6040820190508181035f830152617c5f8185617beb565b9050617c6e6020830184616c34565b9392505050565b617c7e816167e8565b82525050565b617c8d81617433565b82525050565b617c9c81617470565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f617cc682617ca2565b617cd08185617cac565b9350617ce081856020860161724b565b617ce9816169ca565b840191505092915050565b5f61010083015f830151617d0a5f860182617c75565b506020830151617d1d6020860182617c84565b506040830151617d306040860182617c75565b506060830151617d436060860182617bb9565b506080830151617d566080860182617c75565b5060a0830151617d6960a0860182617c93565b5060c083015184820360c0860152617d818282617cbc565b91505060e083015184820360e0860152617d9b8282617cbc565b9150508091505092915050565b5f6040820190508181035f830152617dc08185617cf4565b9050617dcf6020830184616bae565b9392505050565b5f617de082616796565b9150617deb83616796565b9250828203905081811115617e0357617e02617714565b5b92915050565b5f819050919050565b617e23617e1e82616796565b617e09565b82525050565b5f617e348285617e12565b602082019150617e448284617e12565b6020820191508190509392505050565b5f819050919050565b5f617e77617e72617e6d84617e54565b617643565b616796565b9050919050565b617e8781617e5d565b82525050565b5f6060820190508181035f830152617ea58186617259565b9050617eb46020830185616bae565b617ec16040830184617e7e565b949350505050565b5f819050919050565b5f617eec617ee7617ee284617ec9565b617643565b616796565b9050919050565b617efc81617ed2565b82525050565b5f6060820190508181035f830152617f1a8186617259565b9050617f296020830185616bae565b617f366040830184617ef3565b949350505050565b5f617f4882616971565b915060ff8203617f5b57617f5a617714565b5b600182019050919050565b5f81905092915050565b5f617f7a82617ca2565b617f848185617f66565b9350617f9481856020860161724b565b80840191505092915050565b5f617fab8285617f70565b9150617fb78284617f70565b91508190509392505050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b5f819050919050565b61800861800382617fc3565b617fee565b82525050565b5f6180198285617f70565b91506180258284617ff7565b6001820191508190509392505050565b5f819050919050565b5f61805861805361804e84618035565b617643565b616796565b9050919050565b6180688161803e565b82525050565b5f60a0820190506180815f830188616bae565b81810360208301526180938187617259565b90506180a26040830186616bae565b6180af606083018561805f565b6180bc608083018461805f565b9695505050505050565b5f60a0820190506180d95f830188616bae565b81810360208301526180eb8187617259565b90506180fa6040830186616bae565b6181076060830185616bae565b618114608083018461805f565b9695505050505050565b5f60a0820190506181315f830188616bae565b81810360208301526181438187617259565b90506181526040830186616bae565b61815f6060830185616bae565b61816c6080830184616bae565b9695505050505050565b5f8160f81b9050919050565b5f61818c82618176565b9050919050565b6181a461819f82616971565b618182565b82525050565b5f8160601b9050919050565b5f6181c0826181aa565b9050919050565b5f6181d1826181b6565b9050919050565b6181e96181e4826167e8565b6181c7565b82525050565b5f6181fa8288617e12565b60208201915061820a8287618193565b60018201915061821a8286618193565b60018201915061822a82856181d8565b60148201915061823a8284617e12565b6020820191508190509695505050505050565b5f81905092915050565b5f61826182617231565b61826b818561824d565b935061827b81856020860161724b565b80840191505092915050565b7f202d3e2000000000000000000000000000000000000000000000000000000000815250565b5f6182b88288618257565b91506182c48287618257565b91506182d08286618257565b91506182dc8285618257565b91506182e782618287565b6004820191506182f78284618257565b91508190509695505050505050565b7f73656c65637400000000000000000000000000000000000000000000000000005f82015250565b5f61833a60068361723b565b915061834582618306565b602082019050919050565b5f6060820190508181035f8301526183678161832e565b90506183766020830185616bae565b618383604083018461782d565b9392505050565b5f6020820190508181035f8301526183a18161832e565b9050919050565b5f6040820190506183bb5f830185617b3e565b6183c86020830184617b3e565b9392505050565b5f6040820190508181035f8301526183e78185617259565b90506183f66020830184617b3e565b9392505050565b7f202a200000000000000000000000000000000000000000000000000000000000815250565b5f61842e8285618257565b9150618439826183fd565b6003820191506184498284618257565b91508190509392505050565b7f202d200000000000000000000000000000000000000000000000000000000000815250565b5f6184868285618257565b915061849182618455565b6003820191506184a18284618257565b91508190509392505050565b7f202b200000000000000000000000000000000000000000000000000000000000815250565b5f6184de8285618257565b91506184e9826184ad565b6003820191506184f98284618257565b91508190509392505050565b7f205e200000000000000000000000000000000000000000000000000000000000815250565b5f6185368285618257565b915061854182618505565b6003820191506185518284618257565b91508190509392505050565b7f2026200000000000000000000000000000000000000000000000000000000000815250565b5f61858e8285618257565b91506185998261855d565b6003820191506185a98284618257565b91508190509392505050565b7f207c200000000000000000000000000000000000000000000000000000000000815250565b5f6185e68285618257565b91506185f1826185b5565b6003820191506186018284618257565b91508190509392505050565b7f202f200000000000000000000000000000000000000000000000000000000000815250565b5f61863e8285618257565b91506186498261860d565b6003820191506186598284618257565b91508190509392505050565b7f2025200000000000000000000000000000000000000000000000000000000000815250565b5f6186968285618257565b91506186a182618665565b6003820191506186b18284618257565b91508190509392505050565b7f203c3c2000000000000000000000000000000000000000000000000000000000815250565b5f6186ee8285618257565b91506186f9826186bd565b6004820191506187098284618257565b91508190509392505050565b7f203e3e2000000000000000000000000000000000000000000000000000000000815250565b5f6187468285618257565b915061875182618715565b6004820191506187618284618257565b91508190509392505050565b7f203e3d2000000000000000000000000000000000000000000000000000000000815250565b5f61879e8285618257565b91506187a98261876d565b6004820191506187b98284618257565b91508190509392505050565b7f203c3d2000000000000000000000000000000000000000000000000000000000815250565b5f6187f68285618257565b9150618801826187c5565b6004820191506188118284618257565b91508190509392505050565b7f203c200000000000000000000000000000000000000000000000000000000000815250565b5f61884e8285618257565b91506188598261881d565b6003820191506188698284618257565b91508190509392505050565b7f203e200000000000000000000000000000000000000000000000000000000000815250565b5f6188a68285618257565b91506188b182618875565b6003820191506188c18284618257565b91508190509392505050565b7f6d696e2800000000000000000000000000000000000000000000000000000000815250565b7f2c20000000000000000000000000000000000000000000000000000000000000815250565b7f2900000000000000000000000000000000000000000000000000000000000000815250565b5f618949826188cd565b6004820191506189598285618257565b9150618964826188f3565b6002820191506189748284618257565b915061897f82618919565b6001820191508190509392505050565b7f6d61782800000000000000000000000000000000000000000000000000000000815250565b5f6189bf8261898f565b6004820191506189cf8285618257565b91506189da826188f3565b6002820191506189ea8284618257565b91506189f582618919565b6001820191508190509392505050565b7f203d3d2000000000000000000000000000000000000000000000000000000000815250565b5f618a368285618257565b9150618a4182618a05565b600482019150618a518284618257565b91508190509392505050565b7f20213d2000000000000000000000000000000000000000000000000000000000815250565b5f618a8e8285618257565b9150618a9982618a5d565b600482019150618aa98284618257565b91508190509392505050565b7f4648452e61734500000000000000000000000000000000000000000000000000815250565b5f618ae582618ab5565b600782019150618af58284618257565b915081905092915050565b7f2800000000000000000000000000000000000000000000000000000000000000815250565b5f618b318285618257565b9150618b3c82618b00565b600182019150618b4c8284618257565b9150618b5782618919565b6001820191508190509392505050565b7f203f200000000000000000000000000000000000000000000000000000000000815250565b7f203a200000000000000000000000000000000000000000000000000000000000815250565b5f618bbe8286618257565b9150618bc982618b67565b600382019150618bd98285618257565b9150618be482618b8d565b600382019150618bf48284618257565b9150819050949350505050565b7f2e2e000000000000000000000000000000000000000000000000000000000000815250565b7f295b000000000000000000000000000000000000000000000000000000000000815250565b7f5d00000000000000000000000000000000000000000000000000000000000000815250565b5f618c7e8287618257565b9150618c8982618b00565b600182019150618c998286618257565b9150618ca482618c01565b600282019150618cb48285618257565b9150618cbf82618c27565b600282019150618ccf8284618257565b9150618cda82618c4d565b60018201915081905095945050505050565b7f20203d3e20200000000000000000000000000000000000000000000000000000815250565b5f618d1d8288618257565b9150618d298287618257565b9150618d358286618257565b9150618d418285618257565b9150618d4c82618cec565b600682019150618d5c8284618257565b91508190509695505050505050565b618d7481617470565b82525050565b5f608082019050618d8d5f830187618d6b565b618d9a6020830186617b3e565b618da76040830185618d6b565b618db46060830184618d6b565b95945050505050565b5f618dc88284618257565b915081905092915050565b5f602082019050618de65f830184618d6b565b92915050565b5f618df682616796565b9150618e0183616796565b9250828202618e0f81616796565b91508282048414831517618e2657618e25617714565b5b5092915050565b5f618e3782616796565b91505f8203618e4957618e48617714565b5b600182039050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea26469706673582212208748b8bcaf83a35ceea5a1af25cc3520a39b1fe1ace0f782e8accd39a200e45b64736f6c63430008210033";
|
|
937
|
+
};
|
|
938
|
+
|
|
939
|
+
declare const MockACLArtifact: {
|
|
940
|
+
readonly contractName: "MockACL";
|
|
941
|
+
readonly isFixed: false;
|
|
942
|
+
readonly abi: readonly [{
|
|
943
|
+
readonly type: "constructor";
|
|
944
|
+
readonly inputs: readonly [];
|
|
945
|
+
readonly stateMutability: "nonpayable";
|
|
946
|
+
}, {
|
|
947
|
+
readonly type: "function";
|
|
948
|
+
readonly name: "TASK_MANAGER_ADDRESS_";
|
|
949
|
+
readonly inputs: readonly [];
|
|
950
|
+
readonly outputs: readonly [{
|
|
951
|
+
readonly name: "";
|
|
952
|
+
readonly type: "address";
|
|
953
|
+
readonly internalType: "address";
|
|
954
|
+
}];
|
|
955
|
+
readonly stateMutability: "view";
|
|
956
|
+
}, {
|
|
957
|
+
readonly type: "function";
|
|
958
|
+
readonly name: "allow";
|
|
959
|
+
readonly inputs: readonly [{
|
|
960
|
+
readonly name: "handle";
|
|
961
|
+
readonly type: "uint256";
|
|
962
|
+
readonly internalType: "uint256";
|
|
963
|
+
}, {
|
|
964
|
+
readonly name: "account";
|
|
965
|
+
readonly type: "address";
|
|
966
|
+
readonly internalType: "address";
|
|
967
|
+
}, {
|
|
968
|
+
readonly name: "requester";
|
|
969
|
+
readonly type: "address";
|
|
970
|
+
readonly internalType: "address";
|
|
971
|
+
}];
|
|
972
|
+
readonly outputs: readonly [];
|
|
973
|
+
readonly stateMutability: "nonpayable";
|
|
974
|
+
}, {
|
|
975
|
+
readonly type: "function";
|
|
976
|
+
readonly name: "allowForDecryption";
|
|
977
|
+
readonly inputs: readonly [{
|
|
978
|
+
readonly name: "handlesList";
|
|
979
|
+
readonly type: "uint256[]";
|
|
980
|
+
readonly internalType: "uint256[]";
|
|
981
|
+
}, {
|
|
982
|
+
readonly name: "requester";
|
|
983
|
+
readonly type: "address";
|
|
984
|
+
readonly internalType: "address";
|
|
985
|
+
}];
|
|
986
|
+
readonly outputs: readonly [];
|
|
987
|
+
readonly stateMutability: "nonpayable";
|
|
988
|
+
}, {
|
|
989
|
+
readonly type: "function";
|
|
990
|
+
readonly name: "allowGlobal";
|
|
991
|
+
readonly inputs: readonly [{
|
|
992
|
+
readonly name: "handle";
|
|
993
|
+
readonly type: "uint256";
|
|
994
|
+
readonly internalType: "uint256";
|
|
995
|
+
}, {
|
|
996
|
+
readonly name: "requester";
|
|
997
|
+
readonly type: "address";
|
|
998
|
+
readonly internalType: "address";
|
|
999
|
+
}];
|
|
1000
|
+
readonly outputs: readonly [];
|
|
1001
|
+
readonly stateMutability: "nonpayable";
|
|
1002
|
+
}, {
|
|
1003
|
+
readonly type: "function";
|
|
1004
|
+
readonly name: "allowTransient";
|
|
1005
|
+
readonly inputs: readonly [{
|
|
1006
|
+
readonly name: "handle";
|
|
1007
|
+
readonly type: "uint256";
|
|
1008
|
+
readonly internalType: "uint256";
|
|
1009
|
+
}, {
|
|
1010
|
+
readonly name: "account";
|
|
1011
|
+
readonly type: "address";
|
|
1012
|
+
readonly internalType: "address";
|
|
1013
|
+
}, {
|
|
1014
|
+
readonly name: "requester";
|
|
1015
|
+
readonly type: "address";
|
|
1016
|
+
readonly internalType: "address";
|
|
1017
|
+
}];
|
|
1018
|
+
readonly outputs: readonly [];
|
|
1019
|
+
readonly stateMutability: "nonpayable";
|
|
1020
|
+
}, {
|
|
1021
|
+
readonly type: "function";
|
|
1022
|
+
readonly name: "allowedOnBehalf";
|
|
1023
|
+
readonly inputs: readonly [{
|
|
1024
|
+
readonly name: "delegatee";
|
|
1025
|
+
readonly type: "address";
|
|
1026
|
+
readonly internalType: "address";
|
|
1027
|
+
}, {
|
|
1028
|
+
readonly name: "handle";
|
|
1029
|
+
readonly type: "uint256";
|
|
1030
|
+
readonly internalType: "uint256";
|
|
1031
|
+
}, {
|
|
1032
|
+
readonly name: "contractAddress";
|
|
1033
|
+
readonly type: "address";
|
|
1034
|
+
readonly internalType: "address";
|
|
1035
|
+
}, {
|
|
1036
|
+
readonly name: "account";
|
|
1037
|
+
readonly type: "address";
|
|
1038
|
+
readonly internalType: "address";
|
|
1039
|
+
}];
|
|
1040
|
+
readonly outputs: readonly [{
|
|
1041
|
+
readonly name: "";
|
|
1042
|
+
readonly type: "bool";
|
|
1043
|
+
readonly internalType: "bool";
|
|
1044
|
+
}];
|
|
1045
|
+
readonly stateMutability: "view";
|
|
1046
|
+
}, {
|
|
1047
|
+
readonly type: "function";
|
|
1048
|
+
readonly name: "allowedTransient";
|
|
1049
|
+
readonly inputs: readonly [{
|
|
1050
|
+
readonly name: "handle";
|
|
1051
|
+
readonly type: "uint256";
|
|
1052
|
+
readonly internalType: "uint256";
|
|
1053
|
+
}, {
|
|
1054
|
+
readonly name: "account";
|
|
1055
|
+
readonly type: "address";
|
|
1056
|
+
readonly internalType: "address";
|
|
1057
|
+
}];
|
|
1058
|
+
readonly outputs: readonly [{
|
|
1059
|
+
readonly name: "";
|
|
1060
|
+
readonly type: "bool";
|
|
1061
|
+
readonly internalType: "bool";
|
|
1062
|
+
}];
|
|
1063
|
+
readonly stateMutability: "view";
|
|
1064
|
+
}, {
|
|
1065
|
+
readonly type: "function";
|
|
1066
|
+
readonly name: "checkPermitValidity";
|
|
1067
|
+
readonly inputs: readonly [{
|
|
1068
|
+
readonly name: "permission";
|
|
1069
|
+
readonly type: "tuple";
|
|
1070
|
+
readonly internalType: "struct Permission";
|
|
1071
|
+
readonly components: readonly [{
|
|
1072
|
+
readonly name: "issuer";
|
|
1073
|
+
readonly type: "address";
|
|
1074
|
+
readonly internalType: "address";
|
|
1075
|
+
}, {
|
|
1076
|
+
readonly name: "expiration";
|
|
1077
|
+
readonly type: "uint64";
|
|
1078
|
+
readonly internalType: "uint64";
|
|
1079
|
+
}, {
|
|
1080
|
+
readonly name: "recipient";
|
|
1081
|
+
readonly type: "address";
|
|
1082
|
+
readonly internalType: "address";
|
|
1083
|
+
}, {
|
|
1084
|
+
readonly name: "validatorId";
|
|
1085
|
+
readonly type: "uint256";
|
|
1086
|
+
readonly internalType: "uint256";
|
|
1087
|
+
}, {
|
|
1088
|
+
readonly name: "validatorContract";
|
|
1089
|
+
readonly type: "address";
|
|
1090
|
+
readonly internalType: "address";
|
|
1091
|
+
}, {
|
|
1092
|
+
readonly name: "sealingKey";
|
|
1093
|
+
readonly type: "bytes32";
|
|
1094
|
+
readonly internalType: "bytes32";
|
|
1095
|
+
}, {
|
|
1096
|
+
readonly name: "issuerSignature";
|
|
1097
|
+
readonly type: "bytes";
|
|
1098
|
+
readonly internalType: "bytes";
|
|
1099
|
+
}, {
|
|
1100
|
+
readonly name: "recipientSignature";
|
|
1101
|
+
readonly type: "bytes";
|
|
1102
|
+
readonly internalType: "bytes";
|
|
1103
|
+
}];
|
|
1104
|
+
}];
|
|
1105
|
+
readonly outputs: readonly [{
|
|
1106
|
+
readonly name: "";
|
|
1107
|
+
readonly type: "bool";
|
|
1108
|
+
readonly internalType: "bool";
|
|
1109
|
+
}];
|
|
1110
|
+
readonly stateMutability: "view";
|
|
1111
|
+
}, {
|
|
1112
|
+
readonly type: "function";
|
|
1113
|
+
readonly name: "cleanTransientStorage";
|
|
1114
|
+
readonly inputs: readonly [];
|
|
1115
|
+
readonly outputs: readonly [];
|
|
1116
|
+
readonly stateMutability: "nonpayable";
|
|
1117
|
+
}, {
|
|
1118
|
+
readonly type: "function";
|
|
1119
|
+
readonly name: "delegateAccount";
|
|
1120
|
+
readonly inputs: readonly [{
|
|
1121
|
+
readonly name: "delegatee";
|
|
1122
|
+
readonly type: "address";
|
|
1123
|
+
readonly internalType: "address";
|
|
1124
|
+
}, {
|
|
1125
|
+
readonly name: "delegateeContract";
|
|
1126
|
+
readonly type: "address";
|
|
1127
|
+
readonly internalType: "address";
|
|
1128
|
+
}];
|
|
1129
|
+
readonly outputs: readonly [];
|
|
1130
|
+
readonly stateMutability: "nonpayable";
|
|
1131
|
+
}, {
|
|
1132
|
+
readonly type: "function";
|
|
1133
|
+
readonly name: "eip712Domain";
|
|
1134
|
+
readonly inputs: readonly [];
|
|
1135
|
+
readonly outputs: readonly [{
|
|
1136
|
+
readonly name: "fields";
|
|
1137
|
+
readonly type: "bytes1";
|
|
1138
|
+
readonly internalType: "bytes1";
|
|
1139
|
+
}, {
|
|
1140
|
+
readonly name: "name";
|
|
1141
|
+
readonly type: "string";
|
|
1142
|
+
readonly internalType: "string";
|
|
1143
|
+
}, {
|
|
1144
|
+
readonly name: "version";
|
|
1145
|
+
readonly type: "string";
|
|
1146
|
+
readonly internalType: "string";
|
|
1147
|
+
}, {
|
|
1148
|
+
readonly name: "chainId";
|
|
1149
|
+
readonly type: "uint256";
|
|
1150
|
+
readonly internalType: "uint256";
|
|
1151
|
+
}, {
|
|
1152
|
+
readonly name: "verifyingContract";
|
|
1153
|
+
readonly type: "address";
|
|
1154
|
+
readonly internalType: "address";
|
|
1155
|
+
}, {
|
|
1156
|
+
readonly name: "salt";
|
|
1157
|
+
readonly type: "bytes32";
|
|
1158
|
+
readonly internalType: "bytes32";
|
|
1159
|
+
}, {
|
|
1160
|
+
readonly name: "extensions";
|
|
1161
|
+
readonly type: "uint256[]";
|
|
1162
|
+
readonly internalType: "uint256[]";
|
|
1163
|
+
}];
|
|
1164
|
+
readonly stateMutability: "view";
|
|
1165
|
+
}, {
|
|
1166
|
+
readonly type: "function";
|
|
1167
|
+
readonly name: "exists";
|
|
1168
|
+
readonly inputs: readonly [];
|
|
1169
|
+
readonly outputs: readonly [{
|
|
1170
|
+
readonly name: "";
|
|
1171
|
+
readonly type: "bool";
|
|
1172
|
+
readonly internalType: "bool";
|
|
1173
|
+
}];
|
|
1174
|
+
readonly stateMutability: "pure";
|
|
1175
|
+
}, {
|
|
1176
|
+
readonly type: "function";
|
|
1177
|
+
readonly name: "getTaskManagerAddress";
|
|
1178
|
+
readonly inputs: readonly [];
|
|
1179
|
+
readonly outputs: readonly [{
|
|
1180
|
+
readonly name: "";
|
|
1181
|
+
readonly type: "address";
|
|
1182
|
+
readonly internalType: "address";
|
|
1183
|
+
}];
|
|
1184
|
+
readonly stateMutability: "view";
|
|
1185
|
+
}, {
|
|
1186
|
+
readonly type: "function";
|
|
1187
|
+
readonly name: "getVersion";
|
|
1188
|
+
readonly inputs: readonly [];
|
|
1189
|
+
readonly outputs: readonly [{
|
|
1190
|
+
readonly name: "";
|
|
1191
|
+
readonly type: "string";
|
|
1192
|
+
readonly internalType: "string";
|
|
1193
|
+
}];
|
|
1194
|
+
readonly stateMutability: "pure";
|
|
1195
|
+
}, {
|
|
1196
|
+
readonly type: "function";
|
|
1197
|
+
readonly name: "globalAllowed";
|
|
1198
|
+
readonly inputs: readonly [{
|
|
1199
|
+
readonly name: "handle";
|
|
1200
|
+
readonly type: "uint256";
|
|
1201
|
+
readonly internalType: "uint256";
|
|
1202
|
+
}];
|
|
1203
|
+
readonly outputs: readonly [{
|
|
1204
|
+
readonly name: "";
|
|
1205
|
+
readonly type: "bool";
|
|
1206
|
+
readonly internalType: "bool";
|
|
1207
|
+
}];
|
|
1208
|
+
readonly stateMutability: "view";
|
|
1209
|
+
}, {
|
|
1210
|
+
readonly type: "function";
|
|
1211
|
+
readonly name: "hashTypedDataV4";
|
|
1212
|
+
readonly inputs: readonly [{
|
|
1213
|
+
readonly name: "structHash";
|
|
1214
|
+
readonly type: "bytes32";
|
|
1215
|
+
readonly internalType: "bytes32";
|
|
1216
|
+
}];
|
|
1217
|
+
readonly outputs: readonly [{
|
|
1218
|
+
readonly name: "";
|
|
1219
|
+
readonly type: "bytes32";
|
|
1220
|
+
readonly internalType: "bytes32";
|
|
1221
|
+
}];
|
|
1222
|
+
readonly stateMutability: "view";
|
|
1223
|
+
}, {
|
|
1224
|
+
readonly type: "function";
|
|
1225
|
+
readonly name: "isAllowed";
|
|
1226
|
+
readonly inputs: readonly [{
|
|
1227
|
+
readonly name: "handle";
|
|
1228
|
+
readonly type: "uint256";
|
|
1229
|
+
readonly internalType: "uint256";
|
|
1230
|
+
}, {
|
|
1231
|
+
readonly name: "account";
|
|
1232
|
+
readonly type: "address";
|
|
1233
|
+
readonly internalType: "address";
|
|
1234
|
+
}];
|
|
1235
|
+
readonly outputs: readonly [{
|
|
1236
|
+
readonly name: "";
|
|
1237
|
+
readonly type: "bool";
|
|
1238
|
+
readonly internalType: "bool";
|
|
1239
|
+
}];
|
|
1240
|
+
readonly stateMutability: "view";
|
|
1241
|
+
}, {
|
|
1242
|
+
readonly type: "function";
|
|
1243
|
+
readonly name: "isAllowedForDecryption";
|
|
1244
|
+
readonly inputs: readonly [{
|
|
1245
|
+
readonly name: "handle";
|
|
1246
|
+
readonly type: "uint256";
|
|
1247
|
+
readonly internalType: "uint256";
|
|
1248
|
+
}];
|
|
1249
|
+
readonly outputs: readonly [{
|
|
1250
|
+
readonly name: "";
|
|
1251
|
+
readonly type: "bool";
|
|
1252
|
+
readonly internalType: "bool";
|
|
1253
|
+
}];
|
|
1254
|
+
readonly stateMutability: "view";
|
|
1255
|
+
}, {
|
|
1256
|
+
readonly type: "function";
|
|
1257
|
+
readonly name: "isAllowedWithPermission";
|
|
1258
|
+
readonly inputs: readonly [{
|
|
1259
|
+
readonly name: "permission";
|
|
1260
|
+
readonly type: "tuple";
|
|
1261
|
+
readonly internalType: "struct Permission";
|
|
1262
|
+
readonly components: readonly [{
|
|
1263
|
+
readonly name: "issuer";
|
|
1264
|
+
readonly type: "address";
|
|
1265
|
+
readonly internalType: "address";
|
|
1266
|
+
}, {
|
|
1267
|
+
readonly name: "expiration";
|
|
1268
|
+
readonly type: "uint64";
|
|
1269
|
+
readonly internalType: "uint64";
|
|
1270
|
+
}, {
|
|
1271
|
+
readonly name: "recipient";
|
|
1272
|
+
readonly type: "address";
|
|
1273
|
+
readonly internalType: "address";
|
|
1274
|
+
}, {
|
|
1275
|
+
readonly name: "validatorId";
|
|
1276
|
+
readonly type: "uint256";
|
|
1277
|
+
readonly internalType: "uint256";
|
|
1278
|
+
}, {
|
|
1279
|
+
readonly name: "validatorContract";
|
|
1280
|
+
readonly type: "address";
|
|
1281
|
+
readonly internalType: "address";
|
|
1282
|
+
}, {
|
|
1283
|
+
readonly name: "sealingKey";
|
|
1284
|
+
readonly type: "bytes32";
|
|
1285
|
+
readonly internalType: "bytes32";
|
|
1286
|
+
}, {
|
|
1287
|
+
readonly name: "issuerSignature";
|
|
1288
|
+
readonly type: "bytes";
|
|
1289
|
+
readonly internalType: "bytes";
|
|
1290
|
+
}, {
|
|
1291
|
+
readonly name: "recipientSignature";
|
|
1292
|
+
readonly type: "bytes";
|
|
1293
|
+
readonly internalType: "bytes";
|
|
1294
|
+
}];
|
|
1295
|
+
}, {
|
|
1296
|
+
readonly name: "handle";
|
|
1297
|
+
readonly type: "uint256";
|
|
1298
|
+
readonly internalType: "uint256";
|
|
1299
|
+
}];
|
|
1300
|
+
readonly outputs: readonly [{
|
|
1301
|
+
readonly name: "";
|
|
1302
|
+
readonly type: "bool";
|
|
1303
|
+
readonly internalType: "bool";
|
|
1304
|
+
}];
|
|
1305
|
+
readonly stateMutability: "view";
|
|
1306
|
+
}, {
|
|
1307
|
+
readonly type: "function";
|
|
1308
|
+
readonly name: "persistAllowed";
|
|
1309
|
+
readonly inputs: readonly [{
|
|
1310
|
+
readonly name: "handle";
|
|
1311
|
+
readonly type: "uint256";
|
|
1312
|
+
readonly internalType: "uint256";
|
|
1313
|
+
}, {
|
|
1314
|
+
readonly name: "account";
|
|
1315
|
+
readonly type: "address";
|
|
1316
|
+
readonly internalType: "address";
|
|
1317
|
+
}];
|
|
1318
|
+
readonly outputs: readonly [{
|
|
1319
|
+
readonly name: "";
|
|
1320
|
+
readonly type: "bool";
|
|
1321
|
+
readonly internalType: "bool";
|
|
1322
|
+
}];
|
|
1323
|
+
readonly stateMutability: "view";
|
|
1324
|
+
}, {
|
|
1325
|
+
readonly type: "event";
|
|
1326
|
+
readonly name: "AllowedForDecryption";
|
|
1327
|
+
readonly inputs: readonly [{
|
|
1328
|
+
readonly name: "handlesList";
|
|
1329
|
+
readonly type: "uint256[]";
|
|
1330
|
+
readonly indexed: false;
|
|
1331
|
+
readonly internalType: "uint256[]";
|
|
1332
|
+
}];
|
|
1333
|
+
readonly anonymous: false;
|
|
1334
|
+
}, {
|
|
1335
|
+
readonly type: "event";
|
|
1336
|
+
readonly name: "EIP712DomainChanged";
|
|
1337
|
+
readonly inputs: readonly [];
|
|
1338
|
+
readonly anonymous: false;
|
|
1339
|
+
}, {
|
|
1340
|
+
readonly type: "event";
|
|
1341
|
+
readonly name: "NewDelegation";
|
|
1342
|
+
readonly inputs: readonly [{
|
|
1343
|
+
readonly name: "sender";
|
|
1344
|
+
readonly type: "address";
|
|
1345
|
+
readonly indexed: true;
|
|
1346
|
+
readonly internalType: "address";
|
|
1347
|
+
}, {
|
|
1348
|
+
readonly name: "delegatee";
|
|
1349
|
+
readonly type: "address";
|
|
1350
|
+
readonly indexed: true;
|
|
1351
|
+
readonly internalType: "address";
|
|
1352
|
+
}, {
|
|
1353
|
+
readonly name: "contractAddress";
|
|
1354
|
+
readonly type: "address";
|
|
1355
|
+
readonly indexed: true;
|
|
1356
|
+
readonly internalType: "address";
|
|
1357
|
+
}];
|
|
1358
|
+
readonly anonymous: false;
|
|
1359
|
+
}, {
|
|
1360
|
+
readonly type: "error";
|
|
1361
|
+
readonly name: "AlreadyDelegated";
|
|
1362
|
+
readonly inputs: readonly [];
|
|
1363
|
+
}, {
|
|
1364
|
+
readonly type: "error";
|
|
1365
|
+
readonly name: "DirectAllowForbidden";
|
|
1366
|
+
readonly inputs: readonly [{
|
|
1367
|
+
readonly name: "sender";
|
|
1368
|
+
readonly type: "address";
|
|
1369
|
+
readonly internalType: "address";
|
|
1370
|
+
}];
|
|
1371
|
+
}, {
|
|
1372
|
+
readonly type: "error";
|
|
1373
|
+
readonly name: "InvalidShortString";
|
|
1374
|
+
readonly inputs: readonly [];
|
|
1375
|
+
}, {
|
|
1376
|
+
readonly type: "error";
|
|
1377
|
+
readonly name: "PermissionInvalid_Disabled";
|
|
1378
|
+
readonly inputs: readonly [];
|
|
1379
|
+
}, {
|
|
1380
|
+
readonly type: "error";
|
|
1381
|
+
readonly name: "PermissionInvalid_Expired";
|
|
1382
|
+
readonly inputs: readonly [];
|
|
1383
|
+
}, {
|
|
1384
|
+
readonly type: "error";
|
|
1385
|
+
readonly name: "PermissionInvalid_IssuerSignature";
|
|
1386
|
+
readonly inputs: readonly [];
|
|
1387
|
+
}, {
|
|
1388
|
+
readonly type: "error";
|
|
1389
|
+
readonly name: "PermissionInvalid_RecipientSignature";
|
|
1390
|
+
readonly inputs: readonly [];
|
|
1391
|
+
}, {
|
|
1392
|
+
readonly type: "error";
|
|
1393
|
+
readonly name: "SenderCannotBeDelegateeAddress";
|
|
1394
|
+
readonly inputs: readonly [];
|
|
1395
|
+
}, {
|
|
1396
|
+
readonly type: "error";
|
|
1397
|
+
readonly name: "SenderNotAllowed";
|
|
1398
|
+
readonly inputs: readonly [{
|
|
1399
|
+
readonly name: "sender";
|
|
1400
|
+
readonly type: "address";
|
|
1401
|
+
readonly internalType: "address";
|
|
1402
|
+
}];
|
|
1403
|
+
}, {
|
|
1404
|
+
readonly type: "error";
|
|
1405
|
+
readonly name: "StringTooLong";
|
|
1406
|
+
readonly inputs: readonly [{
|
|
1407
|
+
readonly name: "str";
|
|
1408
|
+
readonly type: "string";
|
|
1409
|
+
readonly internalType: "string";
|
|
1410
|
+
}];
|
|
1411
|
+
}];
|
|
1412
|
+
readonly bytecode: "0x610160604052348015610010575f5ffd5b506040518060400160405280600381526020017f41434c00000000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506100905f8361012b60201b90919060201c565b61012081815250506100ac60018261012b60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506100e961017860201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505061072d565b5f60208351101561014c57610145836101d260201b60201c565b9050610172565b8261015c8361023760201b60201c565b5f01908161016a919061048e565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016101b79594939291906105c3565b60405160208183030381529060405280519060200120905090565b5f5f829050601f8151111561021e57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610215919061067a565b60405180910390fd5b80518161022a906106c7565b5f1c175f1b915050919050565b5f819050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102bb57607f821691505b6020821081036102ce576102cd610277565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102f5565b61033a86836102f5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61037e61037961037484610352565b61035b565b610352565b9050919050565b5f819050919050565b61039783610364565b6103ab6103a382610385565b848454610301565b825550505050565b5f5f905090565b6103c26103b3565b6103cd81848461038e565b505050565b5f5b828110156103f3576103e85f8284016103ba565b6001810190506103d4565b505050565b601f821115610446578282111561044557610412816102d4565b61041b836102e6565b610424856102e6565b6020861015610431575f90505b808301610440828403826103d2565b505050505b5b505050565b5f82821c905092915050565b5f6104665f198460080261044b565b1980831691505092915050565b5f61047e8383610457565b9150826002028217905092915050565b61049782610240565b67ffffffffffffffff8111156104b0576104af61024a565b5b6104ba82546102a4565b6104c58282856103f8565b5f60209050601f8311600181146104f6575f84156104e4578287015190505b6104ee8582610473565b865550610555565b601f198416610504866102d4565b5f5b8281101561052b57848901518255600182019150602085019450602081019050610506565b868310156105485784890151610544601f891682610457565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b61056f8161055d565b82525050565b61057e81610352565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105ad82610584565b9050919050565b6105bd816105a3565b82525050565b5f60a0820190506105d65f830188610566565b6105e36020830187610566565b6105f06040830186610566565b6105fd6060830185610575565b61060a60808301846105b4565b9695505050505050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61064c82610240565b6106568185610614565b9350610666818560208601610624565b61066f81610632565b840191505092915050565b5f6020820190508181035f8301526106928184610642565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f6106be825161055d565b80915050919050565b5f6106d18261069a565b826106db846106a4565b90506106e6816106b3565b92506020821015610726576107217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026102f5565b831692505b5050919050565b60805160a05160c05160e05161010051610120516101405161309261077e5f395f6117a301525f61176801525f611ec701525f611ea601525f611a9001525f611ae601525f611b0f01526130925ff3fe608060405234801561000f575f5ffd5b506004361061012a575f3560e01c806365ce8df7116100ab57806394d9184c1161006f57806394d9184c14610334578063a8b7010014610364578063ae79f04a14610380578063cbf4f703146103b0578063ccd9a7cd146103e05761012a565b806365ce8df71461028a57806379a3a7fb146102a85780637a9a598e146102c4578063846cd433146102f457806384b0196e146103105761012a565b8063484de822116100f2578063484de822146101c05780634980f288146101dc57806351b8fd201461020c5780635faa299a1461022a5780636330a7091461025a5761012a565b80630d8e6e2c1461012e578063267c4ae41461014c57806335334c231461016a57806337e6b44f146101745780633c3839ba146101a4575b5f5ffd5b610136610410565b604051610143919061212e565b60405180910390f35b61015461048b565b6040516101619190612168565b60405180910390f35b610172610493565b005b61018e6004803603810190610189919061221f565b610544565b60405161019b9190612168565b60405180910390f35b6101be60048036038101906101b9919061239d565b6105b4565b005b6101da60048036038101906101d591906123f7565b610735565b005b6101f660048036038101906101f1919061247a565b610896565b60405161020391906124b4565b60405180910390f35b6102146108a7565b60405161022191906124dc565b60405180910390f35b610244600480360381019061023f919061221f565b6108bf565b6040516102519190612168565b60405180910390f35b610274600480360381019061026f91906124f5565b6108f3565b6040516102819190612168565b60405180910390f35b610292610927565b60405161029f91906124dc565b60405180910390f35b6102c260048036038101906102bd91906123f7565b610942565b005b6102de60048036038101906102d9919061221f565b610a88565b6040516102eb9190612168565b60405180910390f35b61030e6004803603810190610309919061221f565b610ac5565b005b610318610bce565b60405161032b9796959493929190612620565b60405180910390f35b61034e600480360381019061034991906124f5565b610c73565b60405161035b9190612168565b60405180910390f35b61037e600480360381019061037991906126a2565b610ca6565b005b61039a600480360381019061039591906128d4565b610fd6565b6040516103a79190612168565b60405180910390f35b6103ca60048036038101906103c5919061292e565b61122d565b6040516103d79190612168565b60405180910390f35b6103fa60048036038101906103f59190612975565b611478565b6040516104079190612168565b60405180910390f35b60606040518060400160405280600381526020017f41434c00000000000000000000000000000000000000000000000000000000008152506104515f611617565b61045b6001611617565b6104645f611617565b6040516020016104779493929190612aa7565b604051602081830303815290604052905090565b5f6001905090565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051757336040517f3809a24300000000000000000000000000000000000000000000000000000000815260040161050e91906124dc565b60405180910390fd5b5f5c5f5f5d6001810160015b8181101561053f57805c5f825d5f815d50600181019050610523565b505050565b5f5f61054e6116e1565b9050806001015f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1691505092915050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461063857336040517f3809a24300000000000000000000000000000000000000000000000000000000815260040161062f91906124dc565b60405180910390fd5b5f825190505f6106466116e1565b90505f5f90505b828110156106f7575f85828151811061066957610668612b05565b5b6020026020010151905061067d81866108bf565b6106be57846040517fd0d259760000000000000000000000000000000000000000000000000000000081526004016106b591906124dc565b60405180910390fd5b6001836002015f8381526020019081526020015f205f6101000a81548160ff02191690831515021790555050808060010191505061064d565b507f2fd616621b8415a2efb27b224024340ac767797553ce6fdf4c1adefd160504c6846040516107279190612b32565b60405180910390a150505050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b957336040517f3809a2430000000000000000000000000000000000000000000000000000000081526004016107b091906124dc565b60405180910390fd5b6107c383826108bf565b158015610810575073ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1561085257806040517fd0d2597600000000000000000000000000000000000000000000000000000000815260040161084991906124dc565b60405180910390fd5b5f8383604051602001610866929190612bb7565b6040516020818303038152906040528051906020012090506001815d5f5c6001810182815d805f5d505050505050565b5f6108a082611747565b9050919050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d981565b5f6108ca8383610a88565b806108db57506108da8383610544565b5b806108eb57506108ea83610c73565b5b905092915050565b5f5f6108fd6116e1565b9050806002015f8481526020019081526020015f205f9054906101000a900460ff16915050919050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d9905090565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109c657336040517f3809a2430000000000000000000000000000000000000000000000000000000081526004016109bd91906124dc565b60405180910390fd5b6109d083826108bf565b610a1157806040517fd0d25976000000000000000000000000000000000000000000000000000000008152600401610a0891906124dc565b60405180910390fd5b5f610a1a6116e1565b90506001816001015f8681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050505050565b5f5f5f8484604051602001610a9e929190612bb7565b604051602081830303815290604052805190602001209050805c9150819250505092915050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4957336040517f3809a243000000000000000000000000000000000000000000000000000000008152600401610b4091906124dc565b60405180910390fd5b610b5382826108bf565b610b9457806040517fd0d25976000000000000000000000000000000000000000000000000000000008152600401610b8b91906124dc565b60405180910390fd5b5f610b9d6116e1565b90506001815f015f8581526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f6060805f5f5f6060610bdf611760565b610be761179a565b46305f5f1b5f67ffffffffffffffff811115610c0657610c05612261565b5b604051908082528060200260200182016040528015610c345781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f5f610c7d6116e1565b9050805f015f8481526020019081526020015f205f9054906101000a900460ff16915050919050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d2a57336040517f3809a243000000000000000000000000000000000000000000000000000000008152600401610d2191906124dc565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d8f576040517f30dc920300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610d986116e1565b9050806003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610e93576040517fd186046800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff03b7c0d4879b0bcbbf440794871f139c96fd13a145a8172b33b9cab5fa2830a60405160405180910390a4505050565b5f8242816020015167ffffffffffffffff161015611020576040517fed0764a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611042815f0151611038611033846117d5565b611747565b8360c0015161182e565b611078576040517f4c40eccb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff16141580156110d857506110d681604001516110cc6110c7846118da565b611747565b8360e0015161182e565b155b1561110f576040517f8e143bf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81606001511415801561115357505f73ffffffffffffffffffffffffffffffffffffffff16816080015173ffffffffffffffffffffffffffffffffffffffff1614155b80156111e05750806080015173ffffffffffffffffffffffffffffffffffffffff1663b63391e8825f015183606001516040518363ffffffff1660e01b81526004016111a0929190612be2565b602060405180830381865afa1580156111bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111df9190612c33565b5b15611217576040517fcbd3a96600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61122483855f01516108bf565b91505092915050565b5f8142816020015167ffffffffffffffff161015611277576040517fed0764a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611299815f015161128f61128a846117d5565b611747565b8360c0015161182e565b6112cf576040517f4c40eccb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff161415801561132f575061132d816040015161132361131e846118da565b611747565b8360e0015161182e565b155b15611366576040517f8e143bf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8160600151141580156113aa57505f73ffffffffffffffffffffffffffffffffffffffff16816080015173ffffffffffffffffffffffffffffffffffffffff1614155b80156114375750806080015173ffffffffffffffffffffffffffffffffffffffff1663b63391e8825f015183606001516040518363ffffffff1660e01b81526004016113f7929190612be2565b602060405180830381865afa158015611412573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114369190612c33565b5b1561146e576040517fcbd3a96600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001915050919050565b5f5f6114826116e1565b9050806001015f8681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156115425750806001015f8681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561160c5750806003015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b915050949350505050565b60605f60016116258461193c565b0190505f8167ffffffffffffffff81111561164357611642612261565b5b6040519080825280601f01601f1916602001820160405280156116755781602001600182028036833780820191505090505b5090505f82602083010190505b6001156116d6578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816116cb576116ca612c5e565b5b0494505f8503611682575b819350505050919050565b5f5f60ff5f1b1960017fc4eb438ffad04c606bb4f9c3576c0f142d5dc3782731029ea1ab95b6483220115f1c6117179190612cb8565b6040516020016117279190612ceb565b604051602081830303815290604052805190602001201690508091505090565b5f611759611753611a8d565b83611b43565b9050919050565b60606117955f7f0000000000000000000000000000000000000000000000000000000000000000611b8390919063ffffffff16565b905090565b60606117d060017f0000000000000000000000000000000000000000000000000000000000000000611b8390919063ffffffff16565b905090565b5f5f73ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff160361181d5761181682611c30565b9050611829565b61182682611ca2565b90505b919050565b5f5f8473ffffffffffffffffffffffffffffffffffffffff163b036118c5575f5f6118598585611d0e565b50915091505f600381111561187157611870612d04565b5b81600381111561188457611883612d04565b5b1480156118bc57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b925050506118d3565b6118d0848484611d63565b90505b9392505050565b5f7f82af07a6c9eb6bb31a0c86f7f5cad0039589750ad5b4b925ed5741f7ad4e8d4b8260a001518360c001518051906020012060405160200161191f93929190612d31565b604051602081830303815290604052805190602001209050919050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611998577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161198e5761198d612c5e565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106119d5576d04ee2d6d415b85acef810000000083816119cb576119ca612c5e565b5b0492506020810190505b662386f26fc100008310611a0457662386f26fc1000083816119fa576119f9612c5e565b5b0492506010810190505b6305f5e1008310611a2d576305f5e1008381611a2357611a22612c5e565b5b0492506008810190505b6127108310611a52576127108381611a4857611a47612c5e565b5b0492506004810190505b60648310611a755760648381611a6b57611a6a612c5e565b5b0492506002810190505b600a8310611a84576001810190505b80915050919050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611b0857507f000000000000000000000000000000000000000000000000000000000000000046145b15611b35577f00000000000000000000000000000000000000000000000000000000000000009050611b40565b611b3d611e82565b90505b90565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b606060ff5f1b8314611b9f57611b9883611f17565b9050611c2a565b818054611bab90612d93565b80601f0160208091040260200160405190810160405280929190818152602001828054611bd790612d93565b8015611c225780601f10611bf957610100808354040283529160200191611c22565b820191905f5260205f20905b815481529060010190602001808311611c0557829003601f168201915b505050505090505b92915050565b5f7f0ce0d938c38f948b8f9cf16098cd15ec62de132c8d422719ad270c5e2a101102825f015183602001518460400151856060015186608001518760a00151604051602001611c859796959493929190612dd2565b604051602081830303815290604052805190602001209050919050565b5f7f8549e986c64faf9b741179c61561f9d39f337cf9739f86178d84dabc6ca4cad5825f01518360200151846040015185606001518660800151604051602001611cf196959493929190612e3f565b604051602081830303815290604052805190602001209050919050565b5f5f5f6041845103611d4e575f5f5f602087015192506040870151915060608701515f1a9050611d4088828585611f89565b955095509550505050611d5c565b5f600285515f1b9250925092505b9250925092565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff168585604051602401611d90929190612ef0565b604051602081830303815290604052631626ba7e60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611de29190612f58565b5f60405180830381855afa9150503d805f8114611e1a576040519150601f19603f3d011682016040523d82523d5f602084013e611e1f565b606091505b5091509150818015611e3357506020815110155b8015611e775750631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681806020019051810190611e759190612f82565b145b925050509392505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611efc959493929190612fad565b60405160208183030381529060405280519060200120905090565b60605f611f2383612070565b90505f602067ffffffffffffffff811115611f4157611f40612261565b5b6040519080825280601f01601f191660200182016040528015611f735781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611fc5575f600385925092509250612066565b5f6001888888886040515f8152602001604052604051611fe89493929190613019565b6020604051602081039080840390855afa158015612008573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612059575f60015f5f1b93509350935050612066565b805f5f5f1b935093509350505b9450945094915050565b5f5f60ff835f1c169050601f8111156120b5576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612100826120be565b61210a81856120c8565b935061211a8185602086016120d8565b612123816120e6565b840191505092915050565b5f6020820190508181035f83015261214681846120f6565b905092915050565b5f8115159050919050565b6121628161214e565b82525050565b5f60208201905061217b5f830184612159565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6121a481612192565b81146121ae575f5ffd5b50565b5f813590506121bf8161219b565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121ee826121c5565b9050919050565b6121fe816121e4565b8114612208575f5ffd5b50565b5f81359050612219816121f5565b92915050565b5f5f604083850312156122355761223461218a565b5b5f612242858286016121b1565b92505060206122538582860161220b565b9150509250929050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612297826120e6565b810181811067ffffffffffffffff821117156122b6576122b5612261565b5b80604052505050565b5f6122c8612181565b90506122d4828261228e565b919050565b5f67ffffffffffffffff8211156122f3576122f2612261565b5b602082029050602081019050919050565b5f5ffd5b5f61231a612315846122d9565b6122bf565b9050808382526020820190506020840283018581111561233d5761233c612304565b5b835b81811015612366578061235288826121b1565b84526020840193505060208101905061233f565b5050509392505050565b5f82601f8301126123845761238361225d565b5b8135612394848260208601612308565b91505092915050565b5f5f604083850312156123b3576123b261218a565b5b5f83013567ffffffffffffffff8111156123d0576123cf61218e565b5b6123dc85828601612370565b92505060206123ed8582860161220b565b9150509250929050565b5f5f5f6060848603121561240e5761240d61218a565b5b5f61241b868287016121b1565b935050602061242c8682870161220b565b925050604061243d8682870161220b565b9150509250925092565b5f819050919050565b61245981612447565b8114612463575f5ffd5b50565b5f8135905061247481612450565b92915050565b5f6020828403121561248f5761248e61218a565b5b5f61249c84828501612466565b91505092915050565b6124ae81612447565b82525050565b5f6020820190506124c75f8301846124a5565b92915050565b6124d6816121e4565b82525050565b5f6020820190506124ef5f8301846124cd565b92915050565b5f6020828403121561250a5761250961218a565b5b5f612517848285016121b1565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61255481612520565b82525050565b61256381612192565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61259b81612192565b82525050565b5f6125ac8383612592565b60208301905092915050565b5f602082019050919050565b5f6125ce82612569565b6125d88185612573565b93506125e383612583565b805f5b838110156126135781516125fa88826125a1565b9750612605836125b8565b9250506001810190506125e6565b5085935050505092915050565b5f60e0820190506126335f83018a61254b565b818103602083015261264581896120f6565b9050818103604083015261265981886120f6565b9050612668606083018761255a565b61267560808301866124cd565b61268260a08301856124a5565b81810360c083015261269481846125c4565b905098975050505050505050565b5f5f604083850312156126b8576126b761218a565b5b5f6126c58582860161220b565b92505060206126d68582860161220b565b9150509250929050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82169050919050565b612704816126e8565b811461270e575f5ffd5b50565b5f8135905061271f816126fb565b92915050565b5f5ffd5b5f67ffffffffffffffff82111561274357612742612261565b5b61274c826120e6565b9050602081019050919050565b828183375f83830152505050565b5f61277961277484612729565b6122bf565b90508281526020810184848401111561279557612794612725565b5b6127a0848285612759565b509392505050565b5f82601f8301126127bc576127bb61225d565b5b81356127cc848260208601612767565b91505092915050565b5f61010082840312156127eb576127ea6126e0565b5b6127f66101006122bf565b90505f6128058482850161220b565b5f83015250602061281884828501612711565b602083015250604061282c8482850161220b565b6040830152506060612840848285016121b1565b60608301525060806128548482850161220b565b60808301525060a061286884828501612466565b60a08301525060c082013567ffffffffffffffff81111561288c5761288b6126e4565b5b612898848285016127a8565b60c08301525060e082013567ffffffffffffffff8111156128bc576128bb6126e4565b5b6128c8848285016127a8565b60e08301525092915050565b5f5f604083850312156128ea576128e961218a565b5b5f83013567ffffffffffffffff8111156129075761290661218e565b5b612913858286016127d5565b9250506020612924858286016121b1565b9150509250929050565b5f602082840312156129435761294261218a565b5b5f82013567ffffffffffffffff8111156129605761295f61218e565b5b61296c848285016127d5565b91505092915050565b5f5f5f5f6080858703121561298d5761298c61218a565b5b5f61299a8782880161220b565b94505060206129ab878288016121b1565b93505060406129bc8782880161220b565b92505060606129cd8782880161220b565b91505092959194509250565b5f81905092915050565b5f6129ed826120be565b6129f781856129d9565b9350612a078185602086016120d8565b80840191505092915050565b7f20760000000000000000000000000000000000000000000000000000000000005f82015250565b5f612a476002836129d9565b9150612a5282612a13565b600282019050919050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f612a916001836129d9565b9150612a9c82612a5d565b600182019050919050565b5f612ab282876129e3565b9150612abd82612a3b565b9150612ac982866129e3565b9150612ad482612a85565b9150612ae082856129e3565b9150612aeb82612a85565b9150612af782846129e3565b915081905095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020820190508181035f830152612b4a81846125c4565b905092915050565b5f819050919050565b612b6c612b6782612192565b612b52565b82525050565b5f8160601b9050919050565b5f612b8882612b72565b9050919050565b5f612b9982612b7e565b9050919050565b612bb1612bac826121e4565b612b8f565b82525050565b5f612bc28285612b5b565b602082019150612bd28284612ba0565b6014820191508190509392505050565b5f604082019050612bf55f8301856124cd565b612c02602083018461255a565b9392505050565b612c128161214e565b8114612c1c575f5ffd5b50565b5f81519050612c2d81612c09565b92915050565b5f60208284031215612c4857612c4761218a565b5b5f612c5584828501612c1f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612cc282612192565b9150612ccd83612192565b9250828203905081811115612ce557612ce4612c8b565b5b92915050565b5f602082019050612cfe5f83018461255a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f606082019050612d445f8301866124a5565b612d5160208301856124a5565b612d5e60408301846124a5565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612daa57607f821691505b602082108103612dbd57612dbc612d66565b5b50919050565b612dcc816126e8565b82525050565b5f60e082019050612de55f83018a6124a5565b612df260208301896124cd565b612dff6040830188612dc3565b612e0c60608301876124cd565b612e19608083018661255a565b612e2660a08301856124cd565b612e3360c08301846124a5565b98975050505050505050565b5f60c082019050612e525f8301896124a5565b612e5f60208301886124cd565b612e6c6040830187612dc3565b612e7960608301866124cd565b612e86608083018561255a565b612e9360a08301846124cd565b979650505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f612ec282612e9e565b612ecc8185612ea8565b9350612edc8185602086016120d8565b612ee5816120e6565b840191505092915050565b5f604082019050612f035f8301856124a5565b8181036020830152612f158184612eb8565b90509392505050565b5f81905092915050565b5f612f3282612e9e565b612f3c8185612f1e565b9350612f4c8185602086016120d8565b80840191505092915050565b5f612f638284612f28565b915081905092915050565b5f81519050612f7c81612450565b92915050565b5f60208284031215612f9757612f9661218a565b5b5f612fa484828501612f6e565b91505092915050565b5f60a082019050612fc05f8301886124a5565b612fcd60208301876124a5565b612fda60408301866124a5565b612fe7606083018561255a565b612ff460808301846124cd565b9695505050505050565b5f60ff82169050919050565b61301381612ffe565b82525050565b5f60808201905061302c5f8301876124a5565b613039602083018661300a565b61304660408301856124a5565b61305360608301846124a5565b9594505050505056fea2646970667358221220c5d6e82239a714c525252082469fbf71070b387cd176f4ba7dce187b64d2ae3964736f6c63430008210033";
|
|
1413
|
+
};
|
|
1414
|
+
|
|
1415
|
+
declare const MockZkVerifierArtifact: {
|
|
1416
|
+
readonly contractName: "MockZkVerifier";
|
|
1417
|
+
readonly isFixed: true;
|
|
1418
|
+
readonly fixedAddress: "0x0000000000000000000000000000000000005001";
|
|
1419
|
+
readonly abi: readonly [{
|
|
1420
|
+
readonly type: "function";
|
|
1421
|
+
readonly name: "exists";
|
|
1422
|
+
readonly inputs: readonly [];
|
|
1423
|
+
readonly outputs: readonly [{
|
|
1424
|
+
readonly name: "";
|
|
1425
|
+
readonly type: "bool";
|
|
1426
|
+
readonly internalType: "bool";
|
|
1427
|
+
}];
|
|
1428
|
+
readonly stateMutability: "pure";
|
|
1429
|
+
}, {
|
|
1430
|
+
readonly type: "function";
|
|
1431
|
+
readonly name: "insertCtHash";
|
|
1432
|
+
readonly inputs: readonly [{
|
|
1433
|
+
readonly name: "ctHash";
|
|
1434
|
+
readonly type: "uint256";
|
|
1435
|
+
readonly internalType: "uint256";
|
|
1436
|
+
}, {
|
|
1437
|
+
readonly name: "value";
|
|
1438
|
+
readonly type: "uint256";
|
|
1439
|
+
readonly internalType: "uint256";
|
|
1440
|
+
}];
|
|
1441
|
+
readonly outputs: readonly [];
|
|
1442
|
+
readonly stateMutability: "nonpayable";
|
|
1443
|
+
}, {
|
|
1444
|
+
readonly type: "function";
|
|
1445
|
+
readonly name: "insertPackedCtHashes";
|
|
1446
|
+
readonly inputs: readonly [{
|
|
1447
|
+
readonly name: "ctHashes";
|
|
1448
|
+
readonly type: "uint256[]";
|
|
1449
|
+
readonly internalType: "uint256[]";
|
|
1450
|
+
}, {
|
|
1451
|
+
readonly name: "values";
|
|
1452
|
+
readonly type: "uint256[]";
|
|
1453
|
+
readonly internalType: "uint256[]";
|
|
1454
|
+
}];
|
|
1455
|
+
readonly outputs: readonly [];
|
|
1456
|
+
readonly stateMutability: "nonpayable";
|
|
1457
|
+
}, {
|
|
1458
|
+
readonly type: "function";
|
|
1459
|
+
readonly name: "zkVerify";
|
|
1460
|
+
readonly inputs: readonly [{
|
|
1461
|
+
readonly name: "value";
|
|
1462
|
+
readonly type: "uint256";
|
|
1463
|
+
readonly internalType: "uint256";
|
|
1464
|
+
}, {
|
|
1465
|
+
readonly name: "utype";
|
|
1466
|
+
readonly type: "uint8";
|
|
1467
|
+
readonly internalType: "uint8";
|
|
1468
|
+
}, {
|
|
1469
|
+
readonly name: "user";
|
|
1470
|
+
readonly type: "address";
|
|
1471
|
+
readonly internalType: "address";
|
|
1472
|
+
}, {
|
|
1473
|
+
readonly name: "securityZone";
|
|
1474
|
+
readonly type: "uint8";
|
|
1475
|
+
readonly internalType: "uint8";
|
|
1476
|
+
}, {
|
|
1477
|
+
readonly name: "";
|
|
1478
|
+
readonly type: "uint256";
|
|
1479
|
+
readonly internalType: "uint256";
|
|
1480
|
+
}];
|
|
1481
|
+
readonly outputs: readonly [{
|
|
1482
|
+
readonly name: "";
|
|
1483
|
+
readonly type: "tuple";
|
|
1484
|
+
readonly internalType: "struct EncryptedInput";
|
|
1485
|
+
readonly components: readonly [{
|
|
1486
|
+
readonly name: "ctHash";
|
|
1487
|
+
readonly type: "uint256";
|
|
1488
|
+
readonly internalType: "uint256";
|
|
1489
|
+
}, {
|
|
1490
|
+
readonly name: "securityZone";
|
|
1491
|
+
readonly type: "uint8";
|
|
1492
|
+
readonly internalType: "uint8";
|
|
1493
|
+
}, {
|
|
1494
|
+
readonly name: "utype";
|
|
1495
|
+
readonly type: "uint8";
|
|
1496
|
+
readonly internalType: "uint8";
|
|
1497
|
+
}, {
|
|
1498
|
+
readonly name: "signature";
|
|
1499
|
+
readonly type: "bytes";
|
|
1500
|
+
readonly internalType: "bytes";
|
|
1501
|
+
}];
|
|
1502
|
+
}];
|
|
1503
|
+
readonly stateMutability: "nonpayable";
|
|
1504
|
+
}, {
|
|
1505
|
+
readonly type: "function";
|
|
1506
|
+
readonly name: "zkVerifyCalcCtHash";
|
|
1507
|
+
readonly inputs: readonly [{
|
|
1508
|
+
readonly name: "value";
|
|
1509
|
+
readonly type: "uint256";
|
|
1510
|
+
readonly internalType: "uint256";
|
|
1511
|
+
}, {
|
|
1512
|
+
readonly name: "utype";
|
|
1513
|
+
readonly type: "uint8";
|
|
1514
|
+
readonly internalType: "uint8";
|
|
1515
|
+
}, {
|
|
1516
|
+
readonly name: "user";
|
|
1517
|
+
readonly type: "address";
|
|
1518
|
+
readonly internalType: "address";
|
|
1519
|
+
}, {
|
|
1520
|
+
readonly name: "securityZone";
|
|
1521
|
+
readonly type: "uint8";
|
|
1522
|
+
readonly internalType: "uint8";
|
|
1523
|
+
}, {
|
|
1524
|
+
readonly name: "";
|
|
1525
|
+
readonly type: "uint256";
|
|
1526
|
+
readonly internalType: "uint256";
|
|
1527
|
+
}];
|
|
1528
|
+
readonly outputs: readonly [{
|
|
1529
|
+
readonly name: "ctHash";
|
|
1530
|
+
readonly type: "uint256";
|
|
1531
|
+
readonly internalType: "uint256";
|
|
1532
|
+
}];
|
|
1533
|
+
readonly stateMutability: "view";
|
|
1534
|
+
}, {
|
|
1535
|
+
readonly type: "function";
|
|
1536
|
+
readonly name: "zkVerifyCalcCtHashesPacked";
|
|
1537
|
+
readonly inputs: readonly [{
|
|
1538
|
+
readonly name: "values";
|
|
1539
|
+
readonly type: "uint256[]";
|
|
1540
|
+
readonly internalType: "uint256[]";
|
|
1541
|
+
}, {
|
|
1542
|
+
readonly name: "utypes";
|
|
1543
|
+
readonly type: "uint8[]";
|
|
1544
|
+
readonly internalType: "uint8[]";
|
|
1545
|
+
}, {
|
|
1546
|
+
readonly name: "user";
|
|
1547
|
+
readonly type: "address";
|
|
1548
|
+
readonly internalType: "address";
|
|
1549
|
+
}, {
|
|
1550
|
+
readonly name: "securityZone";
|
|
1551
|
+
readonly type: "uint8";
|
|
1552
|
+
readonly internalType: "uint8";
|
|
1553
|
+
}, {
|
|
1554
|
+
readonly name: "chainId";
|
|
1555
|
+
readonly type: "uint256";
|
|
1556
|
+
readonly internalType: "uint256";
|
|
1557
|
+
}];
|
|
1558
|
+
readonly outputs: readonly [{
|
|
1559
|
+
readonly name: "ctHashes";
|
|
1560
|
+
readonly type: "uint256[]";
|
|
1561
|
+
readonly internalType: "uint256[]";
|
|
1562
|
+
}];
|
|
1563
|
+
readonly stateMutability: "view";
|
|
1564
|
+
}, {
|
|
1565
|
+
readonly type: "function";
|
|
1566
|
+
readonly name: "zkVerifyPacked";
|
|
1567
|
+
readonly inputs: readonly [{
|
|
1568
|
+
readonly name: "values";
|
|
1569
|
+
readonly type: "uint256[]";
|
|
1570
|
+
readonly internalType: "uint256[]";
|
|
1571
|
+
}, {
|
|
1572
|
+
readonly name: "utypes";
|
|
1573
|
+
readonly type: "uint8[]";
|
|
1574
|
+
readonly internalType: "uint8[]";
|
|
1575
|
+
}, {
|
|
1576
|
+
readonly name: "user";
|
|
1577
|
+
readonly type: "address";
|
|
1578
|
+
readonly internalType: "address";
|
|
1579
|
+
}, {
|
|
1580
|
+
readonly name: "securityZone";
|
|
1581
|
+
readonly type: "uint8";
|
|
1582
|
+
readonly internalType: "uint8";
|
|
1583
|
+
}, {
|
|
1584
|
+
readonly name: "chainId";
|
|
1585
|
+
readonly type: "uint256";
|
|
1586
|
+
readonly internalType: "uint256";
|
|
1587
|
+
}];
|
|
1588
|
+
readonly outputs: readonly [{
|
|
1589
|
+
readonly name: "inputs";
|
|
1590
|
+
readonly type: "tuple[]";
|
|
1591
|
+
readonly internalType: "struct EncryptedInput[]";
|
|
1592
|
+
readonly components: readonly [{
|
|
1593
|
+
readonly name: "ctHash";
|
|
1594
|
+
readonly type: "uint256";
|
|
1595
|
+
readonly internalType: "uint256";
|
|
1596
|
+
}, {
|
|
1597
|
+
readonly name: "securityZone";
|
|
1598
|
+
readonly type: "uint8";
|
|
1599
|
+
readonly internalType: "uint8";
|
|
1600
|
+
}, {
|
|
1601
|
+
readonly name: "utype";
|
|
1602
|
+
readonly type: "uint8";
|
|
1603
|
+
readonly internalType: "uint8";
|
|
1604
|
+
}, {
|
|
1605
|
+
readonly name: "signature";
|
|
1606
|
+
readonly type: "bytes";
|
|
1607
|
+
readonly internalType: "bytes";
|
|
1608
|
+
}];
|
|
1609
|
+
}];
|
|
1610
|
+
readonly stateMutability: "nonpayable";
|
|
1611
|
+
}, {
|
|
1612
|
+
readonly type: "error";
|
|
1613
|
+
readonly name: "InvalidInputs";
|
|
1614
|
+
readonly inputs: readonly [];
|
|
1615
|
+
}];
|
|
1616
|
+
readonly deployedBytecode: "0x608060405234801561000f575f5ffd5b506004361061007b575f3560e01c8063772de59611610059578063772de596146100e9578063a2616ba914610119578063a9f046cd14610149578063d2a0693e146101655761007b565b8063267c4ae41461007f5780635946761f1461009d57806366dfcfc6146100cd575b5f5ffd5b610087610195565b6040516100949190610750565b60405180910390f35b6100b760048036038101906100b29190610a4d565b61019d565b6040516100c49190610c95565b60405180910390f35b6100e760048036038101906100e29190610cb5565b6102b5565b005b61010360048036038101906100fe9190610a4d565b61034d565b6040516101109190610d9b565b60405180910390f35b610133600480360381019061012e9190610dbb565b61045b565b6040516101409190610e92565b60405180910390f35b610163600480360381019061015e9190610eb2565b6104bd565b005b61017f600480360381019061017a9190610dbb565b61051b565b60405161018c9190610f37565b60405180910390f35b5f6001905090565b606085518551146101da576040517ff34cfab600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845167ffffffffffffffff8111156101f5576101f461078e565b5b60405190808252806020026020018201604052801561022e57816020015b61021b61070b565b8152602001906001900390816102135790505b5090505f5f90505b85518110156102ab5761028087828151811061025557610254610f50565b5b60200260200101518783815181106102705761026f610f50565b5b602002602001015187878761045b565b82828151811061029357610292610f50565b5b60200260200101819052508080600101915050610236565b5095945050505050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166315a486fe83836040518363ffffffff1660e01b8152600401610304929190610f7d565b5f604051808303815f87803b15801561031b575f5ffd5b505af115801561032d573d5f5f3e3d5ffd5b5050505060015f5f8282546103429190610fd1565b925050819055505050565b6060855185511461038a576040517ff34cfab600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845167ffffffffffffffff8111156103a5576103a461078e565b5b6040519080825280602002602001820160405280156103d35781602001602082028036833780820191505090505b5090505f5f90505b8551811015610451576104258782815181106103fa576103f9610f50565b5b602002602001015187838151811061041557610414610f50565b5b602002602001015187878761051b565b82828151811061043857610437610f50565b5b60200260200101818152505080806001019150506103db565b5095945050505050565b61046361070b565b5f6104708587868a610533565b905061047c81886102b5565b60405180608001604052808281526020018560ff1681526020018760ff16815260200160405180602001604052805f81525081525091505095945050505050565b5f5f90505b8251811015610516576105098382815181106104e1576104e0610f50565b5b60200260200101518383815181106104fc576104fb610f50565b5b60200260200101516102b5565b80806001019150506104c2565b505050565b5f61052884868589610533565b905095945050505050565b5f5f61053e83610611565b60405160200161054e919061103e565b60405160208183030381529060405290508061057f8773ffffffffffffffffffffffffffffffffffffffff16610611565b604051602001610590929190611054565b6040516020818303038152906040529050805f546040516020016105b49190611097565b604051602081830303815290604052805190602001206040516020016105db9291906110da565b60405160208183030381529060405290505f81805190602001209050610605815f1c86885f610673565b92505050949350505050565b60605f602067ffffffffffffffff81111561062f5761062e61078e565b5b6040519080825280601f01601f1916602001820160405280156106615781602001600182028036833780820191505090505b50905082602082015280915050919050565b5f61ffff80167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106a49190611101565b851690505f8460ff1660086106b985876106cc565b901b179050808217915050949350505050565b5f600160ff8016901c60ff168260ff1616836106e8575f610702565b600160ff8016901c60ff1660ff80166107019190611101565b5b17905092915050565b60405180608001604052805f81526020015f60ff1681526020015f60ff168152602001606081525090565b5f8115159050919050565b61074a81610736565b82525050565b5f6020820190506107635f830184610741565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6107c48261077e565b810181811067ffffffffffffffff821117156107e3576107e261078e565b5b80604052505050565b5f6107f5610769565b905061080182826107bb565b919050565b5f67ffffffffffffffff8211156108205761081f61078e565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61084781610835565b8114610851575f5ffd5b50565b5f813590506108628161083e565b92915050565b5f61087a61087584610806565b6107ec565b9050808382526020820190506020840283018581111561089d5761089c610831565b5b835b818110156108c657806108b28882610854565b84526020840193505060208101905061089f565b5050509392505050565b5f82601f8301126108e4576108e361077a565b5b81356108f4848260208601610868565b91505092915050565b5f67ffffffffffffffff8211156109175761091661078e565b5b602082029050602081019050919050565b5f60ff82169050919050565b61093d81610928565b8114610947575f5ffd5b50565b5f8135905061095881610934565b92915050565b5f61097061096b846108fd565b6107ec565b9050808382526020820190506020840283018581111561099357610992610831565b5b835b818110156109bc57806109a8888261094a565b845260208401935050602081019050610995565b5050509392505050565b5f82601f8301126109da576109d961077a565b5b81356109ea84826020860161095e565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a1c826109f3565b9050919050565b610a2c81610a12565b8114610a36575f5ffd5b50565b5f81359050610a4781610a23565b92915050565b5f5f5f5f5f60a08688031215610a6657610a65610772565b5b5f86013567ffffffffffffffff811115610a8357610a82610776565b5b610a8f888289016108d0565b955050602086013567ffffffffffffffff811115610ab057610aaf610776565b5b610abc888289016109c6565b9450506040610acd88828901610a39565b9350506060610ade8882890161094a565b9250506080610aef88828901610854565b9150509295509295909350565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610b2e81610835565b82525050565b610b3d81610928565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610b7582610b43565b610b7f8185610b4d565b9350610b8f818560208601610b5d565b610b988161077e565b840191505092915050565b5f608083015f830151610bb85f860182610b25565b506020830151610bcb6020860182610b34565b506040830151610bde6040860182610b34565b5060608301518482036060860152610bf68282610b6b565b9150508091505092915050565b5f610c0e8383610ba3565b905092915050565b5f602082019050919050565b5f610c2c82610afc565b610c368185610b06565b935083602082028501610c4885610b16565b805f5b85811015610c835784840389528151610c648582610c03565b9450610c6f83610c16565b925060208a01995050600181019050610c4b565b50829750879550505050505092915050565b5f6020820190508181035f830152610cad8184610c22565b905092915050565b5f5f60408385031215610ccb57610cca610772565b5b5f610cd885828601610854565b9250506020610ce985828601610854565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f610d278383610b25565b60208301905092915050565b5f602082019050919050565b5f610d4982610cf3565b610d538185610cfd565b9350610d5e83610d0d565b805f5b83811015610d8e578151610d758882610d1c565b9750610d8083610d33565b925050600181019050610d61565b5085935050505092915050565b5f6020820190508181035f830152610db38184610d3f565b905092915050565b5f5f5f5f5f60a08688031215610dd457610dd3610772565b5b5f610de188828901610854565b9550506020610df28882890161094a565b9450506040610e0388828901610a39565b9350506060610e148882890161094a565b9250506080610e2588828901610854565b9150509295509295909350565b5f608083015f830151610e475f860182610b25565b506020830151610e5a6020860182610b34565b506040830151610e6d6040860182610b34565b5060608301518482036060860152610e858282610b6b565b9150508091505092915050565b5f6020820190508181035f830152610eaa8184610e32565b905092915050565b5f5f60408385031215610ec857610ec7610772565b5b5f83013567ffffffffffffffff811115610ee557610ee4610776565b5b610ef1858286016108d0565b925050602083013567ffffffffffffffff811115610f1257610f11610776565b5b610f1e858286016108d0565b9150509250929050565b610f3181610835565b82525050565b5f602082019050610f4a5f830184610f28565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f604082019050610f905f830185610f28565b610f9d6020830184610f28565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610fdb82610835565b9150610fe683610835565b9250828201905080821115610ffe57610ffd610fa4565b5b92915050565b5f81905092915050565b5f61101882610b43565b6110228185611004565b9350611032818560208601610b5d565b80840191505092915050565b5f611049828461100e565b915081905092915050565b5f61105f828561100e565b915061106b828461100e565b91508190509392505050565b5f819050919050565b61109161108c82610835565b611077565b82525050565b5f6110a28284611080565b60208201915081905092915050565b5f819050919050565b5f819050919050565b6110d46110cf826110b1565b6110ba565b82525050565b5f6110e5828561100e565b91506110f182846110c3565b6020820191508190509392505050565b5f61110b82610835565b915061111683610835565b925082820390508181111561112e5761112d610fa4565b5b9291505056fea26469706673582212205ac62186288ac4a4028b2b0b67b58a9e0c52950cc677276012e68fc94b7d5c1b64736f6c63430008210033";
|
|
1617
|
+
};
|
|
1618
|
+
|
|
1619
|
+
declare const MockThresholdNetworkArtifact: {
|
|
1620
|
+
readonly contractName: "MockThresholdNetwork";
|
|
1621
|
+
readonly isFixed: true;
|
|
1622
|
+
readonly fixedAddress: "0x0000000000000000000000000000000000005002";
|
|
1623
|
+
readonly abi: readonly [{
|
|
1624
|
+
readonly type: "function";
|
|
1625
|
+
readonly name: "decodeLowLevelReversion";
|
|
1626
|
+
readonly inputs: readonly [{
|
|
1627
|
+
readonly name: "data";
|
|
1628
|
+
readonly type: "bytes";
|
|
1629
|
+
readonly internalType: "bytes";
|
|
1630
|
+
}];
|
|
1631
|
+
readonly outputs: readonly [{
|
|
1632
|
+
readonly name: "error";
|
|
1633
|
+
readonly type: "string";
|
|
1634
|
+
readonly internalType: "string";
|
|
1635
|
+
}];
|
|
1636
|
+
readonly stateMutability: "pure";
|
|
1637
|
+
}, {
|
|
1638
|
+
readonly type: "function";
|
|
1639
|
+
readonly name: "decryptForTxWithPermit";
|
|
1640
|
+
readonly inputs: readonly [{
|
|
1641
|
+
readonly name: "ctHash";
|
|
1642
|
+
readonly type: "uint256";
|
|
1643
|
+
readonly internalType: "uint256";
|
|
1644
|
+
}, {
|
|
1645
|
+
readonly name: "permission";
|
|
1646
|
+
readonly type: "tuple";
|
|
1647
|
+
readonly internalType: "struct Permission";
|
|
1648
|
+
readonly components: readonly [{
|
|
1649
|
+
readonly name: "issuer";
|
|
1650
|
+
readonly type: "address";
|
|
1651
|
+
readonly internalType: "address";
|
|
1652
|
+
}, {
|
|
1653
|
+
readonly name: "expiration";
|
|
1654
|
+
readonly type: "uint64";
|
|
1655
|
+
readonly internalType: "uint64";
|
|
1656
|
+
}, {
|
|
1657
|
+
readonly name: "recipient";
|
|
1658
|
+
readonly type: "address";
|
|
1659
|
+
readonly internalType: "address";
|
|
1660
|
+
}, {
|
|
1661
|
+
readonly name: "validatorId";
|
|
1662
|
+
readonly type: "uint256";
|
|
1663
|
+
readonly internalType: "uint256";
|
|
1664
|
+
}, {
|
|
1665
|
+
readonly name: "validatorContract";
|
|
1666
|
+
readonly type: "address";
|
|
1667
|
+
readonly internalType: "address";
|
|
1668
|
+
}, {
|
|
1669
|
+
readonly name: "sealingKey";
|
|
1670
|
+
readonly type: "bytes32";
|
|
1671
|
+
readonly internalType: "bytes32";
|
|
1672
|
+
}, {
|
|
1673
|
+
readonly name: "issuerSignature";
|
|
1674
|
+
readonly type: "bytes";
|
|
1675
|
+
readonly internalType: "bytes";
|
|
1676
|
+
}, {
|
|
1677
|
+
readonly name: "recipientSignature";
|
|
1678
|
+
readonly type: "bytes";
|
|
1679
|
+
readonly internalType: "bytes";
|
|
1680
|
+
}];
|
|
1681
|
+
}];
|
|
1682
|
+
readonly outputs: readonly [{
|
|
1683
|
+
readonly name: "allowed";
|
|
1684
|
+
readonly type: "bool";
|
|
1685
|
+
readonly internalType: "bool";
|
|
1686
|
+
}, {
|
|
1687
|
+
readonly name: "error";
|
|
1688
|
+
readonly type: "string";
|
|
1689
|
+
readonly internalType: "string";
|
|
1690
|
+
}, {
|
|
1691
|
+
readonly name: "decryptedValue";
|
|
1692
|
+
readonly type: "uint256";
|
|
1693
|
+
readonly internalType: "uint256";
|
|
1694
|
+
}];
|
|
1695
|
+
readonly stateMutability: "view";
|
|
1696
|
+
}, {
|
|
1697
|
+
readonly type: "function";
|
|
1698
|
+
readonly name: "decryptForTxWithoutPermit";
|
|
1699
|
+
readonly inputs: readonly [{
|
|
1700
|
+
readonly name: "ctHash";
|
|
1701
|
+
readonly type: "uint256";
|
|
1702
|
+
readonly internalType: "uint256";
|
|
1703
|
+
}];
|
|
1704
|
+
readonly outputs: readonly [{
|
|
1705
|
+
readonly name: "allowed";
|
|
1706
|
+
readonly type: "bool";
|
|
1707
|
+
readonly internalType: "bool";
|
|
1708
|
+
}, {
|
|
1709
|
+
readonly name: "error";
|
|
1710
|
+
readonly type: "string";
|
|
1711
|
+
readonly internalType: "string";
|
|
1712
|
+
}, {
|
|
1713
|
+
readonly name: "decryptedValue";
|
|
1714
|
+
readonly type: "uint256";
|
|
1715
|
+
readonly internalType: "uint256";
|
|
1716
|
+
}];
|
|
1717
|
+
readonly stateMutability: "view";
|
|
1718
|
+
}, {
|
|
1719
|
+
readonly type: "function";
|
|
1720
|
+
readonly name: "exists";
|
|
1721
|
+
readonly inputs: readonly [];
|
|
1722
|
+
readonly outputs: readonly [{
|
|
1723
|
+
readonly name: "";
|
|
1724
|
+
readonly type: "bool";
|
|
1725
|
+
readonly internalType: "bool";
|
|
1726
|
+
}];
|
|
1727
|
+
readonly stateMutability: "pure";
|
|
1728
|
+
}, {
|
|
1729
|
+
readonly type: "function";
|
|
1730
|
+
readonly name: "initialize";
|
|
1731
|
+
readonly inputs: readonly [{
|
|
1732
|
+
readonly name: "_taskManager";
|
|
1733
|
+
readonly type: "address";
|
|
1734
|
+
readonly internalType: "address";
|
|
1735
|
+
}, {
|
|
1736
|
+
readonly name: "_acl";
|
|
1737
|
+
readonly type: "address";
|
|
1738
|
+
readonly internalType: "address";
|
|
1739
|
+
}];
|
|
1740
|
+
readonly outputs: readonly [];
|
|
1741
|
+
readonly stateMutability: "nonpayable";
|
|
1742
|
+
}, {
|
|
1743
|
+
readonly type: "function";
|
|
1744
|
+
readonly name: "mockAcl";
|
|
1745
|
+
readonly inputs: readonly [];
|
|
1746
|
+
readonly outputs: readonly [{
|
|
1747
|
+
readonly name: "";
|
|
1748
|
+
readonly type: "address";
|
|
1749
|
+
readonly internalType: "contract MockACL";
|
|
1750
|
+
}];
|
|
1751
|
+
readonly stateMutability: "view";
|
|
1752
|
+
}, {
|
|
1753
|
+
readonly type: "function";
|
|
1754
|
+
readonly name: "mockQueryDecrypt";
|
|
1755
|
+
readonly inputs: readonly [{
|
|
1756
|
+
readonly name: "ctHash";
|
|
1757
|
+
readonly type: "uint256";
|
|
1758
|
+
readonly internalType: "uint256";
|
|
1759
|
+
}, {
|
|
1760
|
+
readonly name: "";
|
|
1761
|
+
readonly type: "uint256";
|
|
1762
|
+
readonly internalType: "uint256";
|
|
1763
|
+
}, {
|
|
1764
|
+
readonly name: "issuer";
|
|
1765
|
+
readonly type: "address";
|
|
1766
|
+
readonly internalType: "address";
|
|
1767
|
+
}];
|
|
1768
|
+
readonly outputs: readonly [{
|
|
1769
|
+
readonly name: "allowed";
|
|
1770
|
+
readonly type: "bool";
|
|
1771
|
+
readonly internalType: "bool";
|
|
1772
|
+
}, {
|
|
1773
|
+
readonly name: "error";
|
|
1774
|
+
readonly type: "string";
|
|
1775
|
+
readonly internalType: "string";
|
|
1776
|
+
}, {
|
|
1777
|
+
readonly name: "";
|
|
1778
|
+
readonly type: "uint256";
|
|
1779
|
+
readonly internalType: "uint256";
|
|
1780
|
+
}];
|
|
1781
|
+
readonly stateMutability: "view";
|
|
1782
|
+
}, {
|
|
1783
|
+
readonly type: "function";
|
|
1784
|
+
readonly name: "mockTaskManager";
|
|
1785
|
+
readonly inputs: readonly [];
|
|
1786
|
+
readonly outputs: readonly [{
|
|
1787
|
+
readonly name: "";
|
|
1788
|
+
readonly type: "address";
|
|
1789
|
+
readonly internalType: "contract MockTaskManager";
|
|
1790
|
+
}];
|
|
1791
|
+
readonly stateMutability: "view";
|
|
1792
|
+
}, {
|
|
1793
|
+
readonly type: "function";
|
|
1794
|
+
readonly name: "queryDecrypt";
|
|
1795
|
+
readonly inputs: readonly [{
|
|
1796
|
+
readonly name: "ctHash";
|
|
1797
|
+
readonly type: "uint256";
|
|
1798
|
+
readonly internalType: "uint256";
|
|
1799
|
+
}, {
|
|
1800
|
+
readonly name: "";
|
|
1801
|
+
readonly type: "uint256";
|
|
1802
|
+
readonly internalType: "uint256";
|
|
1803
|
+
}, {
|
|
1804
|
+
readonly name: "permission";
|
|
1805
|
+
readonly type: "tuple";
|
|
1806
|
+
readonly internalType: "struct Permission";
|
|
1807
|
+
readonly components: readonly [{
|
|
1808
|
+
readonly name: "issuer";
|
|
1809
|
+
readonly type: "address";
|
|
1810
|
+
readonly internalType: "address";
|
|
1811
|
+
}, {
|
|
1812
|
+
readonly name: "expiration";
|
|
1813
|
+
readonly type: "uint64";
|
|
1814
|
+
readonly internalType: "uint64";
|
|
1815
|
+
}, {
|
|
1816
|
+
readonly name: "recipient";
|
|
1817
|
+
readonly type: "address";
|
|
1818
|
+
readonly internalType: "address";
|
|
1819
|
+
}, {
|
|
1820
|
+
readonly name: "validatorId";
|
|
1821
|
+
readonly type: "uint256";
|
|
1822
|
+
readonly internalType: "uint256";
|
|
1823
|
+
}, {
|
|
1824
|
+
readonly name: "validatorContract";
|
|
1825
|
+
readonly type: "address";
|
|
1826
|
+
readonly internalType: "address";
|
|
1827
|
+
}, {
|
|
1828
|
+
readonly name: "sealingKey";
|
|
1829
|
+
readonly type: "bytes32";
|
|
1830
|
+
readonly internalType: "bytes32";
|
|
1831
|
+
}, {
|
|
1832
|
+
readonly name: "issuerSignature";
|
|
1833
|
+
readonly type: "bytes";
|
|
1834
|
+
readonly internalType: "bytes";
|
|
1835
|
+
}, {
|
|
1836
|
+
readonly name: "recipientSignature";
|
|
1837
|
+
readonly type: "bytes";
|
|
1838
|
+
readonly internalType: "bytes";
|
|
1839
|
+
}];
|
|
1840
|
+
}];
|
|
1841
|
+
readonly outputs: readonly [{
|
|
1842
|
+
readonly name: "allowed";
|
|
1843
|
+
readonly type: "bool";
|
|
1844
|
+
readonly internalType: "bool";
|
|
1845
|
+
}, {
|
|
1846
|
+
readonly name: "error";
|
|
1847
|
+
readonly type: "string";
|
|
1848
|
+
readonly internalType: "string";
|
|
1849
|
+
}, {
|
|
1850
|
+
readonly name: "";
|
|
1851
|
+
readonly type: "uint256";
|
|
1852
|
+
readonly internalType: "uint256";
|
|
1853
|
+
}];
|
|
1854
|
+
readonly stateMutability: "view";
|
|
1855
|
+
}, {
|
|
1856
|
+
readonly type: "function";
|
|
1857
|
+
readonly name: "querySealOutput";
|
|
1858
|
+
readonly inputs: readonly [{
|
|
1859
|
+
readonly name: "ctHash";
|
|
1860
|
+
readonly type: "uint256";
|
|
1861
|
+
readonly internalType: "uint256";
|
|
1862
|
+
}, {
|
|
1863
|
+
readonly name: "";
|
|
1864
|
+
readonly type: "uint256";
|
|
1865
|
+
readonly internalType: "uint256";
|
|
1866
|
+
}, {
|
|
1867
|
+
readonly name: "permission";
|
|
1868
|
+
readonly type: "tuple";
|
|
1869
|
+
readonly internalType: "struct Permission";
|
|
1870
|
+
readonly components: readonly [{
|
|
1871
|
+
readonly name: "issuer";
|
|
1872
|
+
readonly type: "address";
|
|
1873
|
+
readonly internalType: "address";
|
|
1874
|
+
}, {
|
|
1875
|
+
readonly name: "expiration";
|
|
1876
|
+
readonly type: "uint64";
|
|
1877
|
+
readonly internalType: "uint64";
|
|
1878
|
+
}, {
|
|
1879
|
+
readonly name: "recipient";
|
|
1880
|
+
readonly type: "address";
|
|
1881
|
+
readonly internalType: "address";
|
|
1882
|
+
}, {
|
|
1883
|
+
readonly name: "validatorId";
|
|
1884
|
+
readonly type: "uint256";
|
|
1885
|
+
readonly internalType: "uint256";
|
|
1886
|
+
}, {
|
|
1887
|
+
readonly name: "validatorContract";
|
|
1888
|
+
readonly type: "address";
|
|
1889
|
+
readonly internalType: "address";
|
|
1890
|
+
}, {
|
|
1891
|
+
readonly name: "sealingKey";
|
|
1892
|
+
readonly type: "bytes32";
|
|
1893
|
+
readonly internalType: "bytes32";
|
|
1894
|
+
}, {
|
|
1895
|
+
readonly name: "issuerSignature";
|
|
1896
|
+
readonly type: "bytes";
|
|
1897
|
+
readonly internalType: "bytes";
|
|
1898
|
+
}, {
|
|
1899
|
+
readonly name: "recipientSignature";
|
|
1900
|
+
readonly type: "bytes";
|
|
1901
|
+
readonly internalType: "bytes";
|
|
1902
|
+
}];
|
|
1903
|
+
}];
|
|
1904
|
+
readonly outputs: readonly [{
|
|
1905
|
+
readonly name: "allowed";
|
|
1906
|
+
readonly type: "bool";
|
|
1907
|
+
readonly internalType: "bool";
|
|
1908
|
+
}, {
|
|
1909
|
+
readonly name: "error";
|
|
1910
|
+
readonly type: "string";
|
|
1911
|
+
readonly internalType: "string";
|
|
1912
|
+
}, {
|
|
1913
|
+
readonly name: "";
|
|
1914
|
+
readonly type: "bytes32";
|
|
1915
|
+
readonly internalType: "bytes32";
|
|
1916
|
+
}];
|
|
1917
|
+
readonly stateMutability: "view";
|
|
1918
|
+
}, {
|
|
1919
|
+
readonly type: "function";
|
|
1920
|
+
readonly name: "seal";
|
|
1921
|
+
readonly inputs: readonly [{
|
|
1922
|
+
readonly name: "input";
|
|
1923
|
+
readonly type: "uint256";
|
|
1924
|
+
readonly internalType: "uint256";
|
|
1925
|
+
}, {
|
|
1926
|
+
readonly name: "key";
|
|
1927
|
+
readonly type: "bytes32";
|
|
1928
|
+
readonly internalType: "bytes32";
|
|
1929
|
+
}];
|
|
1930
|
+
readonly outputs: readonly [{
|
|
1931
|
+
readonly name: "";
|
|
1932
|
+
readonly type: "bytes32";
|
|
1933
|
+
readonly internalType: "bytes32";
|
|
1934
|
+
}];
|
|
1935
|
+
readonly stateMutability: "pure";
|
|
1936
|
+
}, {
|
|
1937
|
+
readonly type: "function";
|
|
1938
|
+
readonly name: "unseal";
|
|
1939
|
+
readonly inputs: readonly [{
|
|
1940
|
+
readonly name: "hashed";
|
|
1941
|
+
readonly type: "bytes32";
|
|
1942
|
+
readonly internalType: "bytes32";
|
|
1943
|
+
}, {
|
|
1944
|
+
readonly name: "key";
|
|
1945
|
+
readonly type: "bytes32";
|
|
1946
|
+
readonly internalType: "bytes32";
|
|
1947
|
+
}];
|
|
1948
|
+
readonly outputs: readonly [{
|
|
1949
|
+
readonly name: "";
|
|
1950
|
+
readonly type: "uint256";
|
|
1951
|
+
readonly internalType: "uint256";
|
|
1952
|
+
}];
|
|
1953
|
+
readonly stateMutability: "pure";
|
|
1954
|
+
}, {
|
|
1955
|
+
readonly type: "error";
|
|
1956
|
+
readonly name: "NotAllowed";
|
|
1957
|
+
readonly inputs: readonly [];
|
|
1958
|
+
}, {
|
|
1959
|
+
readonly type: "error";
|
|
1960
|
+
readonly name: "SealingKeyInvalid";
|
|
1961
|
+
readonly inputs: readonly [];
|
|
1962
|
+
}, {
|
|
1963
|
+
readonly type: "error";
|
|
1964
|
+
readonly name: "SealingKeyMissing";
|
|
1965
|
+
readonly inputs: readonly [];
|
|
1966
|
+
}];
|
|
1967
|
+
readonly deployedBytecode: "0x608060405234801561000f575f5ffd5b50600436106100b2575f3560e01c80638a5c8c7f1161006f5780638a5c8c7f1461018e5780638ca07b48146101be578063a02eb534146101f0578063a0639f5414610222578063b4bc28f814610254578063ff6957d314610286576100b2565b806309ba3156146100b65780631a1992a9146100e8578063267c4ae414610118578063485cc955146101365780634cdc014d146101525780637e0f4b5b14610170575b5f5ffd5b6100d060048036038101906100cb9190611723565b6102b6565b6040516100df93929190611818565b60405180910390f35b61010260048036038101906100fd9190611854565b610599565b60405161010f9190611892565b60405180910390f35b6101206105a7565b60405161012d91906118ab565b60405180910390f35b610150600480360381019061014b91906118c4565b6105af565b005b61015a610632565b604051610167919061195d565b60405180910390f35b610178610657565b6040516101859190611996565b60405180910390f35b6101a860048036038101906101a391906119af565b61067b565b6040516101b591906119fc565b60405180910390f35b6101d860048036038101906101d39190611a15565b610689565b6040516101e793929190611a6f565b60405180910390f35b61020a60048036038101906102059190611aab565b6107eb565b60405161021993929190611a6f565b60405180910390f35b61023c60048036038101906102379190611723565b610a7a565b60405161024b93929190611a6f565b60405180910390f35b61026e60048036038101906102699190611afb565b610d04565b60405161027d93929190611a6f565b60405180910390f35b6102a0600480360381019061029b9190611b26565b610deb565b6040516102ad9190611b6d565b60405180910390f35b5f60605f5f5f1b8460a00151036102f9576040517fb78926d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae79f04a86896040518363ffffffff1660e01b8152600401610356929190611ccf565b602060405180830381865afa92505050801561039057506040513d601f19601f8201168201806040525081019061038d9190611d27565b60015b61047c5761039c611d5e565b806308c379a0036103cd57506103b0611d7d565b806103bb5750610432565b5f815f5f1b9450945094505050610590565b634e487b7103610432576103df611e0c565b906103ea5750610432565b5f5f5f1b6040518060400160405280600581526020017f50616e6963000000000000000000000000000000000000000000000000000000815250909450945094505050610590565b3d805f811461045c576040519150601f19603f3d011682016040523d82523d5f602084013e610461565b606091505b505f61046c82610deb565b5f5f1b9450945094505050610590565b80915050806104cc575f5f5f1b6040518060400160405280600a81526020017f4e6f74416c6c6f776564000000000000000000000000000000000000000000008152509093509350935050610590565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c76642b896040518263ffffffff1660e01b815260040161052691906119fc565b602060405180830381865afa158015610541573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105659190611e3e565b90506001610577828860a00151610599565b60405180602001604052805f8152509094509450945050505b93509350939050565b5f81835f1b18905092915050565b5f6001905090565b815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8183185f1c905092915050565b5f60605f5f73ffffffffffffffffffffffffffffffffffffffff16845f015173ffffffffffffffffffffffffffffffffffffffff1603610707575f5f6040518060400160405280601181526020017f5065726d697373696f6e4d697373696e67000000000000000000000000000000815250909250925092506107e4565b5f5f6107138787611027565b915091508161072c575f815f94509450945050506107e4565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c76642b896040518263ffffffff1660e01b815260040161078691906119fc565b602060405180830381865afa1580156107a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c59190611e3e565b905060018160405180602001604052805f815250909550955095505050505b9250925092565b5f60605f5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635faa299a88876040518363ffffffff1660e01b815260040161084c929190611e78565b602060405180830381865afa92505050801561088657506040513d601f19601f820116820180604052508101906108839190611d27565b60015b61096c57610892611d5e565b806308c379a0036108c157506108a6611d7d565b806108b15750610924565b5f815f9450945094505050610a71565b634e487b7103610924576108d3611e0c565b906108de5750610924565b5f5f6040518060400160405280600581526020017f50616e6963000000000000000000000000000000000000000000000000000000815250909450945094505050610a71565b3d805f811461094e576040519150601f19603f3d011682016040523d82523d5f602084013e610953565b606091505b505f61095e82610deb565b5f9450945094505050610a71565b80915050806109ba575f5f6040518060400160405280600a81526020017f4e6f74416c6c6f776564000000000000000000000000000000000000000000008152509093509350935050610a71565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c76642b896040518263ffffffff1660e01b8152600401610a1491906119fc565b602060405180830381865afa158015610a2f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a539190611e3e565b905060018160405180602001604052805f8152509094509450945050505b93509350939050565b5f60605f5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae79f04a86896040518363ffffffff1660e01b8152600401610adb929190611ccf565b602060405180830381865afa925050508015610b1557506040513d601f19601f82011682018060405250810190610b129190611d27565b60015b610bfb57610b21611d5e565b806308c379a003610b505750610b35611d7d565b80610b405750610bb3565b5f815f9450945094505050610cfb565b634e487b7103610bb357610b62611e0c565b90610b6d5750610bb3565b5f5f6040518060400160405280600581526020017f50616e6963000000000000000000000000000000000000000000000000000000815250909450945094505050610cfb565b3d805f8114610bdd576040519150601f19603f3d011682016040523d82523d5f602084013e610be2565b606091505b505f610bed82610deb565b5f9450945094505050610cfb565b8091505080610c49575f5f6040518060400160405280600a81526020017f4e6f74416c6c6f776564000000000000000000000000000000000000000000008152509093509350935050610cfb565b60015f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c76642b896040518263ffffffff1660e01b8152600401610ca491906119fc565b602060405180830381865afa158015610cbf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce39190611e3e565b60405180602001604052805f81525090935093509350505b93509350939050565b5f60605f5f5f610d13866111fe565b9150915081610d2c575f815f9450945094505050610de4565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c76642b886040518263ffffffff1660e01b8152600401610d8691906119fc565b602060405180830381865afa158015610da1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc59190611e3e565b905060018160405180602001604052805f815250909550955095505050505b9193909250565b60605f82610df890611ef9565b905063ed0764a160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e84576040518060400160405280601981526020017f5065726d697373696f6e496e76616c69645f4578706972656400000000000000815250915050611022565b634c40eccb60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ef157604051806060016040528060218152602001611f8460219139915050611022565b638e143bf760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f5e57604051806060016040528060248152602001611f6060249139915050611022565b63cbd3a96660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610fe8576040518060400160405280601a81526020017f5065726d697373696f6e496e76616c69645f44697361626c6564000000000000815250915050611022565b6040518060400160405280600f81526020017f4c6f77204c6576656c204572726f7200000000000000000000000000000000008152509150505b919050565b5f60605f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae79f04a84866040518363ffffffff1660e01b8152600401611085929190611ccf565b602060405180830381865afa9250505080156110bf57506040513d601f19601f820116820180604052508101906110bc9190611d27565b60015b611198576110cb611d5e565b806308c379a0036110f657506110df611d7d565b806110ea5750611154565b5f8192509250506111f7565b634e487b710361115457611108611e0c565b906111135750611154565b5f6040518060400160405280600581526020017f50616e696300000000000000000000000000000000000000000000000000000081525092509250506111f7565b3d805f811461117e576040519150601f19603f3d011682016040523d82523d5f602084013e611183565b606091505b505f61118e82610deb565b92509250506111f7565b80925050816111e1575f6040518060400160405280600a81526020017f4e6f74416c6c6f77656400000000000000000000000000000000000000000000815250915091506111f7565b600160405180602001604052805f815250915091505b9250929050565b5f606060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394d9184c846040518263ffffffff1660e01b815260040161125b91906119fc565b602060405180830381865afa92505050801561129557506040513d601f19601f820116820180604052508101906112929190611d27565b60015b61136e576112a1611d5e565b806308c379a0036112cc57506112b5611d7d565b806112c0575061132a565b5f8192509250506113cd565b634e487b710361132a576112de611e0c565b906112e9575061132a565b5f6040518060400160405280600581526020017f50616e696300000000000000000000000000000000000000000000000000000081525092509250506113cd565b3d805f8114611354576040519150601f19603f3d011682016040523d82523d5f602084013e611359565b606091505b505f61136482610deb565b92509250506113cd565b80925050816113b7575f6040518060400160405280600a81526020017f4e6f74416c6c6f77656400000000000000000000000000000000000000000000815250915091506113cd565b600160405180602001604052805f815250915091505b915091565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6113f5816113e3565b81146113ff575f5ffd5b50565b5f81359050611410816113ec565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6114608261141a565b810181811067ffffffffffffffff8211171561147f5761147e61142a565b5b80604052505050565b5f6114916113d2565b905061149d8282611457565b919050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114cf826114a6565b9050919050565b6114df816114c5565b81146114e9575f5ffd5b50565b5f813590506114fa816114d6565b92915050565b5f67ffffffffffffffff82169050919050565b61151c81611500565b8114611526575f5ffd5b50565b5f8135905061153781611513565b92915050565b5f819050919050565b61154f8161153d565b8114611559575f5ffd5b50565b5f8135905061156a81611546565b92915050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff8211156115925761159161142a565b5b61159b8261141a565b9050602081019050919050565b828183375f83830152505050565b5f6115c86115c384611578565b611488565b9050828152602081018484840111156115e4576115e3611574565b5b6115ef8482856115a8565b509392505050565b5f82601f83011261160b5761160a611570565b5b813561161b8482602086016115b6565b91505092915050565b5f610100828403121561163a57611639611416565b5b611645610100611488565b90505f611654848285016114ec565b5f83015250602061166784828501611529565b602083015250604061167b848285016114ec565b604083015250606061168f84828501611402565b60608301525060806116a3848285016114ec565b60808301525060a06116b78482850161155c565b60a08301525060c082013567ffffffffffffffff8111156116db576116da6114a2565b5b6116e7848285016115f7565b60c08301525060e082013567ffffffffffffffff81111561170b5761170a6114a2565b5b611717848285016115f7565b60e08301525092915050565b5f5f5f6060848603121561173a576117396113db565b5b5f61174786828701611402565b935050602061175886828701611402565b925050604084013567ffffffffffffffff811115611779576117786113df565b5b61178586828701611624565b9150509250925092565b5f8115159050919050565b6117a38161178f565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6117db826117a9565b6117e581856117b3565b93506117f58185602086016117c3565b6117fe8161141a565b840191505092915050565b6118128161153d565b82525050565b5f60608201905061182b5f83018661179a565b818103602083015261183d81856117d1565b905061184c6040830184611809565b949350505050565b5f5f6040838503121561186a576118696113db565b5b5f61187785828601611402565b92505060206118888582860161155c565b9150509250929050565b5f6020820190506118a55f830184611809565b92915050565b5f6020820190506118be5f83018461179a565b92915050565b5f5f604083850312156118da576118d96113db565b5b5f6118e7858286016114ec565b92505060206118f8858286016114ec565b9150509250929050565b5f819050919050565b5f61192561192061191b846114a6565b611902565b6114a6565b9050919050565b5f6119368261190b565b9050919050565b5f6119478261192c565b9050919050565b6119578161193d565b82525050565b5f6020820190506119705f83018461194e565b92915050565b5f6119808261192c565b9050919050565b61199081611976565b82525050565b5f6020820190506119a95f830184611987565b92915050565b5f5f604083850312156119c5576119c46113db565b5b5f6119d28582860161155c565b92505060206119e38582860161155c565b9150509250929050565b6119f6816113e3565b82525050565b5f602082019050611a0f5f8301846119ed565b92915050565b5f5f60408385031215611a2b57611a2a6113db565b5b5f611a3885828601611402565b925050602083013567ffffffffffffffff811115611a5957611a586113df565b5b611a6585828601611624565b9150509250929050565b5f606082019050611a825f83018661179a565b8181036020830152611a9481856117d1565b9050611aa360408301846119ed565b949350505050565b5f5f5f60608486031215611ac257611ac16113db565b5b5f611acf86828701611402565b9350506020611ae086828701611402565b9250506040611af1868287016114ec565b9150509250925092565b5f60208284031215611b1057611b0f6113db565b5b5f611b1d84828501611402565b91505092915050565b5f60208284031215611b3b57611b3a6113db565b5b5f82013567ffffffffffffffff811115611b5857611b576113df565b5b611b64848285016115f7565b91505092915050565b5f6020820190508181035f830152611b8581846117d1565b905092915050565b611b96816114c5565b82525050565b611ba581611500565b82525050565b611bb4816113e3565b82525050565b611bc38161153d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f611bed82611bc9565b611bf78185611bd3565b9350611c078185602086016117c3565b611c108161141a565b840191505092915050565b5f61010083015f830151611c315f860182611b8d565b506020830151611c446020860182611b9c565b506040830151611c576040860182611b8d565b506060830151611c6a6060860182611bab565b506080830151611c7d6080860182611b8d565b5060a0830151611c9060a0860182611bba565b5060c083015184820360c0860152611ca88282611be3565b91505060e083015184820360e0860152611cc28282611be3565b9150508091505092915050565b5f6040820190508181035f830152611ce78185611c1b565b9050611cf660208301846119ed565b9392505050565b611d068161178f565b8114611d10575f5ffd5b50565b5f81519050611d2181611cfd565b92915050565b5f60208284031215611d3c57611d3b6113db565b5b5f611d4984828501611d13565b91505092915050565b5f8160e01c9050919050565b5f60033d1115611d7a5760045f5f3e611d775f51611d52565b90505b90565b5f60443d10611e0957611d8e6113d2565b60043d036004823e80513d602482011167ffffffffffffffff82111715611db6575050611e09565b808201805167ffffffffffffffff811115611dd45750505050611e09565b80602083010160043d038501811115611df1575050505050611e09565b611e0082602001850186611457565b82955050505050505b90565b5f5f60233d1115611e2657602060045f3e600191505f5190505b9091565b5f81519050611e38816113ec565b92915050565b5f60208284031215611e5357611e526113db565b5b5f611e6084828501611e2a565b91505092915050565b611e72816114c5565b82525050565b5f604082019050611e8b5f8301856119ed565b611e986020830184611e69565b9392505050565b5f819050602082019050919050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b5f611ee48251611eae565b80915050919050565b5f82821b905092915050565b5f611f0382611bc9565b82611f0d84611e9f565b9050611f1881611ed9565b92506004821015611f5857611f537fffffffff0000000000000000000000000000000000000000000000000000000083600403600802611eed565b831692505b505091905056fe5065726d697373696f6e496e76616c69645f526563697069656e745369676e61747572655065726d697373696f6e496e76616c69645f4973737565725369676e6174757265a2646970667358221220aece29c216b18cc865bd3b0e61b184ba9cfb61e418c49ed4cbf2e2e152b5bf4f64736f6c63430008210033";
|
|
1968
|
+
};
|
|
1969
|
+
|
|
1970
|
+
declare const TestBedArtifact: {
|
|
1971
|
+
readonly contractName: "TestBed";
|
|
1972
|
+
readonly isFixed: true;
|
|
1973
|
+
readonly fixedAddress: "0x0000000000000000000000000000000000005003";
|
|
1974
|
+
readonly abi: readonly [{
|
|
1975
|
+
readonly type: "function";
|
|
1976
|
+
readonly name: "add";
|
|
1977
|
+
readonly inputs: readonly [{
|
|
1978
|
+
readonly name: "inNumber";
|
|
1979
|
+
readonly type: "tuple";
|
|
1980
|
+
readonly internalType: "struct InEuint32";
|
|
1981
|
+
readonly components: readonly [{
|
|
1982
|
+
readonly name: "ctHash";
|
|
1983
|
+
readonly type: "uint256";
|
|
1984
|
+
readonly internalType: "uint256";
|
|
1985
|
+
}, {
|
|
1986
|
+
readonly name: "securityZone";
|
|
1987
|
+
readonly type: "uint8";
|
|
1988
|
+
readonly internalType: "uint8";
|
|
1989
|
+
}, {
|
|
1990
|
+
readonly name: "utype";
|
|
1991
|
+
readonly type: "uint8";
|
|
1992
|
+
readonly internalType: "uint8";
|
|
1993
|
+
}, {
|
|
1994
|
+
readonly name: "signature";
|
|
1995
|
+
readonly type: "bytes";
|
|
1996
|
+
readonly internalType: "bytes";
|
|
1997
|
+
}];
|
|
1998
|
+
}];
|
|
1999
|
+
readonly outputs: readonly [];
|
|
2000
|
+
readonly stateMutability: "nonpayable";
|
|
2001
|
+
}, {
|
|
2002
|
+
readonly type: "function";
|
|
2003
|
+
readonly name: "decrypt";
|
|
2004
|
+
readonly inputs: readonly [];
|
|
2005
|
+
readonly outputs: readonly [];
|
|
2006
|
+
readonly stateMutability: "nonpayable";
|
|
2007
|
+
}, {
|
|
2008
|
+
readonly type: "function";
|
|
2009
|
+
readonly name: "eNumber";
|
|
2010
|
+
readonly inputs: readonly [];
|
|
2011
|
+
readonly outputs: readonly [{
|
|
2012
|
+
readonly name: "";
|
|
2013
|
+
readonly type: "bytes32";
|
|
2014
|
+
readonly internalType: "euint32";
|
|
2015
|
+
}];
|
|
2016
|
+
readonly stateMutability: "view";
|
|
2017
|
+
}, {
|
|
2018
|
+
readonly type: "function";
|
|
2019
|
+
readonly name: "exists";
|
|
2020
|
+
readonly inputs: readonly [];
|
|
2021
|
+
readonly outputs: readonly [{
|
|
2022
|
+
readonly name: "";
|
|
2023
|
+
readonly type: "bool";
|
|
2024
|
+
readonly internalType: "bool";
|
|
2025
|
+
}];
|
|
2026
|
+
readonly stateMutability: "pure";
|
|
2027
|
+
}, {
|
|
2028
|
+
readonly type: "function";
|
|
2029
|
+
readonly name: "getDecryptResult";
|
|
2030
|
+
readonly inputs: readonly [{
|
|
2031
|
+
readonly name: "input1";
|
|
2032
|
+
readonly type: "bytes32";
|
|
2033
|
+
readonly internalType: "euint32";
|
|
2034
|
+
}];
|
|
2035
|
+
readonly outputs: readonly [{
|
|
2036
|
+
readonly name: "";
|
|
2037
|
+
readonly type: "uint32";
|
|
2038
|
+
readonly internalType: "uint32";
|
|
2039
|
+
}];
|
|
2040
|
+
readonly stateMutability: "view";
|
|
2041
|
+
}, {
|
|
2042
|
+
readonly type: "function";
|
|
2043
|
+
readonly name: "getDecryptResultSafe";
|
|
2044
|
+
readonly inputs: readonly [{
|
|
2045
|
+
readonly name: "input1";
|
|
2046
|
+
readonly type: "bytes32";
|
|
2047
|
+
readonly internalType: "euint32";
|
|
2048
|
+
}];
|
|
2049
|
+
readonly outputs: readonly [{
|
|
2050
|
+
readonly name: "value";
|
|
2051
|
+
readonly type: "uint32";
|
|
2052
|
+
readonly internalType: "uint32";
|
|
2053
|
+
}, {
|
|
2054
|
+
readonly name: "decrypted";
|
|
2055
|
+
readonly type: "bool";
|
|
2056
|
+
readonly internalType: "bool";
|
|
2057
|
+
}];
|
|
2058
|
+
readonly stateMutability: "view";
|
|
2059
|
+
}, {
|
|
2060
|
+
readonly type: "function";
|
|
2061
|
+
readonly name: "increment";
|
|
2062
|
+
readonly inputs: readonly [];
|
|
2063
|
+
readonly outputs: readonly [];
|
|
2064
|
+
readonly stateMutability: "nonpayable";
|
|
2065
|
+
}, {
|
|
2066
|
+
readonly type: "function";
|
|
2067
|
+
readonly name: "mul";
|
|
2068
|
+
readonly inputs: readonly [{
|
|
2069
|
+
readonly name: "inNumber";
|
|
2070
|
+
readonly type: "tuple";
|
|
2071
|
+
readonly internalType: "struct InEuint32";
|
|
2072
|
+
readonly components: readonly [{
|
|
2073
|
+
readonly name: "ctHash";
|
|
2074
|
+
readonly type: "uint256";
|
|
2075
|
+
readonly internalType: "uint256";
|
|
2076
|
+
}, {
|
|
2077
|
+
readonly name: "securityZone";
|
|
2078
|
+
readonly type: "uint8";
|
|
2079
|
+
readonly internalType: "uint8";
|
|
2080
|
+
}, {
|
|
2081
|
+
readonly name: "utype";
|
|
2082
|
+
readonly type: "uint8";
|
|
2083
|
+
readonly internalType: "uint8";
|
|
2084
|
+
}, {
|
|
2085
|
+
readonly name: "signature";
|
|
2086
|
+
readonly type: "bytes";
|
|
2087
|
+
readonly internalType: "bytes";
|
|
2088
|
+
}];
|
|
2089
|
+
}];
|
|
2090
|
+
readonly outputs: readonly [];
|
|
2091
|
+
readonly stateMutability: "nonpayable";
|
|
2092
|
+
}, {
|
|
2093
|
+
readonly type: "function";
|
|
2094
|
+
readonly name: "numberHash";
|
|
2095
|
+
readonly inputs: readonly [];
|
|
2096
|
+
readonly outputs: readonly [{
|
|
2097
|
+
readonly name: "";
|
|
2098
|
+
readonly type: "bytes32";
|
|
2099
|
+
readonly internalType: "bytes32";
|
|
2100
|
+
}];
|
|
2101
|
+
readonly stateMutability: "view";
|
|
2102
|
+
}, {
|
|
2103
|
+
readonly type: "function";
|
|
2104
|
+
readonly name: "publishDecryptResult";
|
|
2105
|
+
readonly inputs: readonly [{
|
|
2106
|
+
readonly name: "input";
|
|
2107
|
+
readonly type: "bytes32";
|
|
2108
|
+
readonly internalType: "euint32";
|
|
2109
|
+
}, {
|
|
2110
|
+
readonly name: "result";
|
|
2111
|
+
readonly type: "uint32";
|
|
2112
|
+
readonly internalType: "uint32";
|
|
2113
|
+
}, {
|
|
2114
|
+
readonly name: "signature";
|
|
2115
|
+
readonly type: "bytes";
|
|
2116
|
+
readonly internalType: "bytes";
|
|
2117
|
+
}];
|
|
2118
|
+
readonly outputs: readonly [];
|
|
2119
|
+
readonly stateMutability: "nonpayable";
|
|
2120
|
+
}, {
|
|
2121
|
+
readonly type: "function";
|
|
2122
|
+
readonly name: "setNumber";
|
|
2123
|
+
readonly inputs: readonly [{
|
|
2124
|
+
readonly name: "inNumber";
|
|
2125
|
+
readonly type: "tuple";
|
|
2126
|
+
readonly internalType: "struct InEuint32";
|
|
2127
|
+
readonly components: readonly [{
|
|
2128
|
+
readonly name: "ctHash";
|
|
2129
|
+
readonly type: "uint256";
|
|
2130
|
+
readonly internalType: "uint256";
|
|
2131
|
+
}, {
|
|
2132
|
+
readonly name: "securityZone";
|
|
2133
|
+
readonly type: "uint8";
|
|
2134
|
+
readonly internalType: "uint8";
|
|
2135
|
+
}, {
|
|
2136
|
+
readonly name: "utype";
|
|
2137
|
+
readonly type: "uint8";
|
|
2138
|
+
readonly internalType: "uint8";
|
|
2139
|
+
}, {
|
|
2140
|
+
readonly name: "signature";
|
|
2141
|
+
readonly type: "bytes";
|
|
2142
|
+
readonly internalType: "bytes";
|
|
2143
|
+
}];
|
|
2144
|
+
}];
|
|
2145
|
+
readonly outputs: readonly [];
|
|
2146
|
+
readonly stateMutability: "nonpayable";
|
|
2147
|
+
}, {
|
|
2148
|
+
readonly type: "function";
|
|
2149
|
+
readonly name: "setNumberTrivial";
|
|
2150
|
+
readonly inputs: readonly [{
|
|
2151
|
+
readonly name: "inNumber";
|
|
2152
|
+
readonly type: "uint32";
|
|
2153
|
+
readonly internalType: "uint32";
|
|
2154
|
+
}];
|
|
2155
|
+
readonly outputs: readonly [];
|
|
2156
|
+
readonly stateMutability: "nonpayable";
|
|
2157
|
+
}, {
|
|
2158
|
+
readonly type: "function";
|
|
2159
|
+
readonly name: "sub";
|
|
2160
|
+
readonly inputs: readonly [{
|
|
2161
|
+
readonly name: "inNumber";
|
|
2162
|
+
readonly type: "tuple";
|
|
2163
|
+
readonly internalType: "struct InEuint32";
|
|
2164
|
+
readonly components: readonly [{
|
|
2165
|
+
readonly name: "ctHash";
|
|
2166
|
+
readonly type: "uint256";
|
|
2167
|
+
readonly internalType: "uint256";
|
|
2168
|
+
}, {
|
|
2169
|
+
readonly name: "securityZone";
|
|
2170
|
+
readonly type: "uint8";
|
|
2171
|
+
readonly internalType: "uint8";
|
|
2172
|
+
}, {
|
|
2173
|
+
readonly name: "utype";
|
|
2174
|
+
readonly type: "uint8";
|
|
2175
|
+
readonly internalType: "uint8";
|
|
2176
|
+
}, {
|
|
2177
|
+
readonly name: "signature";
|
|
2178
|
+
readonly type: "bytes";
|
|
2179
|
+
readonly internalType: "bytes";
|
|
2180
|
+
}];
|
|
2181
|
+
}];
|
|
2182
|
+
readonly outputs: readonly [];
|
|
2183
|
+
readonly stateMutability: "nonpayable";
|
|
2184
|
+
}, {
|
|
2185
|
+
readonly type: "error";
|
|
2186
|
+
readonly name: "InvalidEncryptedInput";
|
|
2187
|
+
readonly inputs: readonly [{
|
|
2188
|
+
readonly name: "got";
|
|
2189
|
+
readonly type: "uint8";
|
|
2190
|
+
readonly internalType: "uint8";
|
|
2191
|
+
}, {
|
|
2192
|
+
readonly name: "expected";
|
|
2193
|
+
readonly type: "uint8";
|
|
2194
|
+
readonly internalType: "uint8";
|
|
2195
|
+
}];
|
|
2196
|
+
}, {
|
|
2197
|
+
readonly type: "error";
|
|
2198
|
+
readonly name: "SecurityZoneOutOfBounds";
|
|
2199
|
+
readonly inputs: readonly [{
|
|
2200
|
+
readonly name: "value";
|
|
2201
|
+
readonly type: "int32";
|
|
2202
|
+
readonly internalType: "int32";
|
|
2203
|
+
}];
|
|
2204
|
+
}];
|
|
2205
|
+
readonly deployedBytecode: "0x608060405234801561000f575f5ffd5b50600436106100cd575f3560e01c806367c651741161008a5780638562354e116100645780638562354e146101ea57806388762d8114610206578063b5872e8c14610222578063d09de08a1461023e576100cd565b806367c651741461019457806384f091db146101b257806384ff25c6146101ce576100cd565b80631292f65a146100d157806319d8a05b14610101578063260ec8891461011f578063267c4ae4146101505780633983d4301461016e5780636470960914610178575b5f5ffd5b6100eb60048036038101906100e691906110b8565b610248565b6040516100f89190611101565b60405180910390f35b610109610259565b604051610116919061113a565b60405180910390f35b610139600480360381019061013491906110b8565b61025e565b60405161014792919061116d565b60405180910390f35b610158610272565b6040516101659190611194565b60405180910390f35b61017661027a565b005b610192600480360381019061018d91906113eb565b610286565b005b61019c6102db565b6040516101a99190611441565b60405180910390f35b6101cc60048036038101906101c791906113eb565b6102e1565b005b6101e860048036038101906101e391906113eb565b610310565b005b61020460048036038101906101ff9190611484565b61033f565b005b610220600480360381019061021b91906114af565b610372565b005b61023c600480360381019061023791906113eb565b610382565b005b6102466103af565b005b5f610252826103de565b9050919050565b5f5481565b5f5f610269836103ef565b91509150915091565b5f6001905090565b6102845f5461040d565b565b5f61029082610433565b90505f6102b06102a1835f5461045b565b836102ab5f6104a4565b6104b6565b90506102bd5f5482610518565b5f819055506102cc5f54610561565b6102d65f546105e2565b505050565b60015481565b6102f45f546102ef83610433565b610663565b5f819055506103035f54610561565b61030d5f546105e2565b50565b6103235f5461031e83610433565b6106ac565b5f819055506103325f54610561565b61033c5f546105e2565b50565b61034e8163ffffffff166104a4565b5f819055505f546001819055506103655f54610561565b61036f5f546105e2565b50565b61037d8383836106f5565b505050565b61038b81610433565b5f819055505f546001819055506103a25f54610561565b6103ac5f546105e2565b50565b6103c35f546103be60016104a4565b6106ac565b5f819055506103d25f54610561565b6103dc5f546105e2565b565b5f6103e88261070b565b9050919050565b5f5f5f5f6103fc856107a1565b915091508181935093505050915091565b61041681610839565b610426576104235f6104a4565b90505b61042f8161084a565b5050565b5f610443826040015160046108d1565b61045461044f83610921565b610963565b9050919050565b5f61046583610839565b610475576104725f6104a4565b92505b61047e82610839565b61048e5761048b5f6104a4565b91505b61049c6004848460136109fc565b905092915050565b5f6104af825f610aed565b9050919050565b5f6104c084610b07565b6104d0576104cd5f610b18565b93505b6104d983610839565b6104e9576104e65f6104a4565b92505b6104f282610839565b610502576104ff5f6104a4565b91505b61050f6004858585610b2a565b90509392505050565b5f61052283610839565b6105325761052f5f6104a4565b92505b61053b82610839565b61054b576105485f6104a4565b91505b6105596004848460076109fc565b905092915050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166365d0509c825f1c306040518363ffffffff1660e01b81526004016105b2929190611569565b5f604051808303815f87803b1580156105c9575f5ffd5b505af11580156105db573d5f5f3e3d5ffd5b5050505050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166365d0509c825f1c336040518363ffffffff1660e01b8152600401610633929190611569565b5f604051808303815f87803b15801561064a575f5ffd5b505af115801561065c573d5f5f3e3d5ffd5b5050505050565b5f61066d83610839565b61067d5761067a5f6104a4565b92505b61068682610839565b610696576106935f6104a4565b91505b6106a460048484600f6109fc565b905092915050565b5f6106b683610839565b6106c6576106c35f6104a4565b92505b6106cf82610839565b6106df576106dc5f6104a4565b91505b6106ed6004848460086109fc565b905092915050565b610706838363ffffffff1683610c1d565b505050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff1663f6bc7f3f835f1c6040518263ffffffff1660e01b815260040161075b9190611590565b602060405180830381865afa158015610776573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079a91906115bd565b9050919050565b5f5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff1663458693c9845f1c6040518263ffffffff1660e01b81526004016107f29190611590565b6040805180830381865afa15801561080c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190611612565b91509150915091565b5f61084382610ca2565b9050919050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166308289827835f1c336040518363ffffffff1660e01b815260040161089c929190611569565b5f604051808303815f87803b1580156108b3575f5ffd5b505af11580156108c5573d5f5f3e3d5ffd5b50505050819050919050565b8060ff168260ff161461091d5781816040517f67cf307100000000000000000000000000000000000000000000000000000000815260040161091492919061165f565b60405180910390fd5b5050565b610929611049565b6040518060800160405280835f01518152602001836020015160ff168152602001600460ff16815260200183606001518152509050919050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166327f9c76283336040518363ffffffff1660e01b81526004016109b3929190611764565b6020604051808303815f875af11580156109cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f391906115bd565b5f1b9050919050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff16631888debd8684610a398888610cb0565b5f67ffffffffffffffff811115610a5357610a526111c1565b5b604051908082528060200260200182016040528015610a815781602001602082028036833780820191505090505b506040518563ffffffff1660e01b8152600401610aa194939291906118ad565b6020604051808303815f875af1158015610abd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae191906115bd565b5f1b9050949350505050565b5f5f610afb84600485610d4e565b90508091505092915050565b5f610b1182610ca2565b9050919050565b5f610b23825f610e4b565b9050919050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff16631888debd866004610b69888888610e74565b5f67ffffffffffffffff811115610b8357610b826111c1565b5b604051908082528060200260200182016040528015610bb15781602001602082028036833780820191505090505b506040518563ffffffff1660e01b8152600401610bd194939291906118ad565b6020604051808303815f875af1158015610bed573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1191906115bd565b5f1b9050949350505050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166318683701845f1c84846040518463ffffffff1660e01b8152600401610c7093929190611946565b5f604051808303815f87803b158015610c87575f5ffd5b505af1158015610c99573d5f5f3e3d5ffd5b50505050505050565b5f5f5f1b8214159050919050565b60605f600267ffffffffffffffff811115610cce57610ccd6111c1565b5b604051908082528060200260200182016040528015610cfc5781602001602082028036833780820191505090505b509050835f1c815f81518110610d1557610d14611982565b5b602002602001018181525050825f1c81600181518110610d3857610d37611982565b5b6020026020010181815250508091505092915050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff16631888debd84601a5f67ffffffffffffffff811115610d9c57610d9b6111c1565b5b604051908082528060200260200182016040528015610dca5781602001602082028036833780820191505090505b50610de1898960ff16610ddc8a610f36565b610f8d565b6040518563ffffffff1660e01b8152600401610e0094939291906118ad565b6020604051808303815f875af1158015610e1c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4091906115bd565b5f1b90509392505050565b5f5f5f90508315610e5b57600190505b5f610e67825f86610d4e565b9050809250505092915050565b60605f600367ffffffffffffffff811115610e9257610e916111c1565b5b604051908082528060200260200182016040528015610ec05781602001602082028036833780820191505090505b509050845f1c815f81518110610ed957610ed8611982565b5b602002602001018181525050835f1c81600181518110610efc57610efb611982565b5b602002602001018181525050825f1c81600281518110610f1f57610f1e611982565b5b602002602001018181525050809150509392505050565b5f5f8260030b1215610f7f57816040517f8f568bf8000000000000000000000000000000000000000000000000000000008152600401610f7691906119ca565b60405180910390fd5b8163ffffffff169050919050565b60605f600367ffffffffffffffff811115610fab57610faa6111c1565b5b604051908082528060200260200182016040528015610fd95781602001602082028036833780820191505090505b50905084815f81518110610ff057610fef611982565b5b602002602001018181525050838160018151811061101157611010611982565b5b602002602001018181525050828160028151811061103257611031611982565b5b602002602001018181525050809150509392505050565b60405180608001604052805f81526020015f60ff1681526020015f60ff168152602001606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61109781611085565b81146110a1575f5ffd5b50565b5f813590506110b28161108e565b92915050565b5f602082840312156110cd576110cc61107d565b5b5f6110da848285016110a4565b91505092915050565b5f63ffffffff82169050919050565b6110fb816110e3565b82525050565b5f6020820190506111145f8301846110f2565b92915050565b5f61112482611085565b9050919050565b6111348161111a565b82525050565b5f60208201905061114d5f83018461112b565b92915050565b5f8115159050919050565b61116781611153565b82525050565b5f6040820190506111805f8301856110f2565b61118d602083018461115e565b9392505050565b5f6020820190506111a75f83018461115e565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6111f7826111b1565b810181811067ffffffffffffffff82111715611216576112156111c1565b5b80604052505050565b5f611228611074565b905061123482826111ee565b919050565b5f5ffd5b5f819050919050565b61124f8161123d565b8114611259575f5ffd5b50565b5f8135905061126a81611246565b92915050565b5f60ff82169050919050565b61128581611270565b811461128f575f5ffd5b50565b5f813590506112a08161127c565b92915050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff8211156112c8576112c76111c1565b5b6112d1826111b1565b9050602081019050919050565b828183375f83830152505050565b5f6112fe6112f9846112ae565b61121f565b90508281526020810184848401111561131a576113196112aa565b5b6113258482856112de565b509392505050565b5f82601f830112611341576113406112a6565b5b81356113518482602086016112ec565b91505092915050565b5f6080828403121561136f5761136e6111ad565b5b611379608061121f565b90505f6113888482850161125c565b5f83015250602061139b84828501611292565b60208301525060406113af84828501611292565b604083015250606082013567ffffffffffffffff8111156113d3576113d2611239565b5b6113df8482850161132d565b60608301525092915050565b5f60208284031215611400576113ff61107d565b5b5f82013567ffffffffffffffff81111561141d5761141c611081565b5b6114298482850161135a565b91505092915050565b61143b81611085565b82525050565b5f6020820190506114545f830184611432565b92915050565b611463816110e3565b811461146d575f5ffd5b50565b5f8135905061147e8161145a565b92915050565b5f602082840312156114995761149861107d565b5b5f6114a684828501611470565b91505092915050565b5f5f5f606084860312156114c6576114c561107d565b5b5f6114d3868287016110a4565b93505060206114e486828701611470565b925050604084013567ffffffffffffffff81111561150557611504611081565b5b6115118682870161132d565b9150509250925092565b6115248161123d565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115538261152a565b9050919050565b61156381611549565b82525050565b5f60408201905061157c5f83018561151b565b611589602083018461155a565b9392505050565b5f6020820190506115a35f83018461151b565b92915050565b5f815190506115b781611246565b92915050565b5f602082840312156115d2576115d161107d565b5b5f6115df848285016115a9565b91505092915050565b6115f181611153565b81146115fb575f5ffd5b50565b5f8151905061160c816115e8565b92915050565b5f5f604083850312156116285761162761107d565b5b5f611635858286016115a9565b9250506020611646858286016115fe565b9150509250929050565b61165981611270565b82525050565b5f6040820190506116725f830185611650565b61167f6020830184611650565b9392505050565b61168f8161123d565b82525050565b61169e81611270565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6116d6826116a4565b6116e081856116ae565b93506116f08185602086016116be565b6116f9816111b1565b840191505092915050565b5f608083015f8301516117195f860182611686565b50602083015161172c6020860182611695565b50604083015161173f6040860182611695565b506060830151848203606086015261175782826116cc565b9150508091505092915050565b5f6040820190508181035f83015261177c8185611704565b905061178b602083018461155a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b602081106117d0576117cf611792565b5b50565b5f8190506117e0826117bf565b919050565b5f6117ef826117d3565b9050919050565b6117ff816117e5565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6118398383611686565b60208301905092915050565b5f602082019050919050565b5f61185b82611805565b611865818561180f565b93506118708361181f565b805f5b838110156118a0578151611887888261182e565b975061189283611845565b925050600181019050611873565b5085935050505092915050565b5f6080820190506118c05f830187611650565b6118cd60208301866117f6565b81810360408301526118df8185611851565b905081810360608301526118f38184611851565b905095945050505050565b5f82825260208201905092915050565b5f611918826116a4565b61192281856118fe565b93506119328185602086016116be565b61193b816111b1565b840191505092915050565b5f6060820190506119595f83018661151b565b611966602083018561151b565b8181036040830152611978818461190e565b9050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8160030b9050919050565b6119c4816119af565b82525050565b5f6020820190506119dd5f8301846119bb565b9291505056fea2646970667358221220675beae239b364d7819668f820ab0ee5e5e31d4f00b27a9c8fa858af782f789764736f6c63430008210033";
|
|
2206
|
+
};
|
|
2207
|
+
|
|
2208
|
+
interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter {
|
|
2209
|
+
}
|
|
2210
|
+
interface TypedContractEvent<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> {
|
|
2211
|
+
(...args: Partial<InputTuple>): TypedDeferredTopicFilter<TypedContractEvent<InputTuple, OutputTuple, OutputObject>>;
|
|
2212
|
+
name: string;
|
|
2213
|
+
fragment: EventFragment;
|
|
2214
|
+
getFragment(...args: Partial<InputTuple>): EventFragment;
|
|
2215
|
+
}
|
|
2216
|
+
type __TypechainAOutputTuple<T> = T extends TypedContractEvent<infer _U, infer W> ? W : never;
|
|
2217
|
+
type __TypechainOutputObject<T> = T extends TypedContractEvent<infer _U, infer _W, infer V> ? V : never;
|
|
2218
|
+
interface TypedEventLog<TCEvent extends TypedContractEvent> extends Omit<EventLog, 'args'> {
|
|
2219
|
+
args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
|
|
2220
|
+
}
|
|
2221
|
+
interface TypedLogDescription<TCEvent extends TypedContractEvent> extends Omit<LogDescription, 'args'> {
|
|
2222
|
+
args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
|
|
2223
|
+
}
|
|
2224
|
+
type TypedListener<TCEvent extends TypedContractEvent> = (...listenerArg: [...__TypechainAOutputTuple<TCEvent>, TypedEventLog<TCEvent>, ...undefined[]]) => void;
|
|
2225
|
+
type StateMutability = 'nonpayable' | 'payable' | 'view';
|
|
2226
|
+
type BaseOverrides = Omit<TransactionRequest, 'to' | 'data'>;
|
|
2227
|
+
type NonPayableOverrides = Omit<BaseOverrides, 'value' | 'blockTag' | 'enableCcipRead'>;
|
|
2228
|
+
type PayableOverrides = Omit<BaseOverrides, 'blockTag' | 'enableCcipRead'>;
|
|
2229
|
+
type ViewOverrides = Omit<TransactionRequest, 'to' | 'data'>;
|
|
2230
|
+
type Overrides<S extends StateMutability> = S extends 'nonpayable' ? NonPayableOverrides : S extends 'payable' ? PayableOverrides : ViewOverrides;
|
|
2231
|
+
type PostfixOverrides<A extends Array<any>, S extends StateMutability> = A | [...A, Overrides<S>];
|
|
2232
|
+
type ContractMethodArgs<A extends Array<any>, S extends StateMutability> = PostfixOverrides<{
|
|
2233
|
+
[I in keyof A]-?: A[I] | Typed;
|
|
2234
|
+
}, S>;
|
|
2235
|
+
type DefaultReturnType<R> = R extends Array<any> ? R[0] : R;
|
|
2236
|
+
interface TypedContractMethod<A extends Array<any> = Array<any>, R = any, S extends StateMutability = 'payable'> {
|
|
2237
|
+
(...args: ContractMethodArgs<A, S>): S extends 'view' ? Promise<DefaultReturnType<R>> : Promise<ContractTransactionResponse>;
|
|
2238
|
+
name: string;
|
|
2239
|
+
fragment: FunctionFragment;
|
|
2240
|
+
getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
|
|
2241
|
+
populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
|
|
2242
|
+
staticCall(...args: ContractMethodArgs<A, 'view'>): Promise<DefaultReturnType<R>>;
|
|
2243
|
+
send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
|
|
2244
|
+
estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
|
|
2245
|
+
staticCallResult(...args: ContractMethodArgs<A, 'view'>): Promise<R>;
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
type PermissionStruct$2 = {
|
|
2249
|
+
issuer: AddressLike;
|
|
2250
|
+
expiration: BigNumberish;
|
|
2251
|
+
recipient: AddressLike;
|
|
2252
|
+
validatorId: BigNumberish;
|
|
2253
|
+
validatorContract: AddressLike;
|
|
2254
|
+
sealingKey: BytesLike;
|
|
2255
|
+
issuerSignature: BytesLike;
|
|
2256
|
+
recipientSignature: BytesLike;
|
|
2257
|
+
};
|
|
2258
|
+
interface MockACLInterface extends Interface {
|
|
2259
|
+
getFunction(nameOrSignature: 'TASK_MANAGER_ADDRESS_' | 'allow' | 'allowForDecryption' | 'allowGlobal' | 'allowTransient' | 'allowedOnBehalf' | 'allowedTransient' | 'checkPermitValidity' | 'cleanTransientStorage' | 'delegateAccount' | 'eip712Domain' | 'exists' | 'getTaskManagerAddress' | 'getVersion' | 'globalAllowed' | 'hashTypedDataV4' | 'isAllowed' | 'isAllowedForDecryption' | 'isAllowedWithPermission' | 'persistAllowed'): FunctionFragment;
|
|
2260
|
+
getEvent(nameOrSignatureOrTopic: 'AllowedForDecryption' | 'EIP712DomainChanged' | 'NewDelegation'): EventFragment;
|
|
2261
|
+
encodeFunctionData(functionFragment: 'TASK_MANAGER_ADDRESS_', values?: undefined): string;
|
|
2262
|
+
encodeFunctionData(functionFragment: 'allow', values: [BigNumberish, AddressLike, AddressLike]): string;
|
|
2263
|
+
encodeFunctionData(functionFragment: 'allowForDecryption', values: [BigNumberish[], AddressLike]): string;
|
|
2264
|
+
encodeFunctionData(functionFragment: 'allowGlobal', values: [BigNumberish, AddressLike]): string;
|
|
2265
|
+
encodeFunctionData(functionFragment: 'allowTransient', values: [BigNumberish, AddressLike, AddressLike]): string;
|
|
2266
|
+
encodeFunctionData(functionFragment: 'allowedOnBehalf', values: [AddressLike, BigNumberish, AddressLike, AddressLike]): string;
|
|
2267
|
+
encodeFunctionData(functionFragment: 'allowedTransient', values: [BigNumberish, AddressLike]): string;
|
|
2268
|
+
encodeFunctionData(functionFragment: 'checkPermitValidity', values: [PermissionStruct$2]): string;
|
|
2269
|
+
encodeFunctionData(functionFragment: 'cleanTransientStorage', values?: undefined): string;
|
|
2270
|
+
encodeFunctionData(functionFragment: 'delegateAccount', values: [AddressLike, AddressLike]): string;
|
|
2271
|
+
encodeFunctionData(functionFragment: 'eip712Domain', values?: undefined): string;
|
|
2272
|
+
encodeFunctionData(functionFragment: 'exists', values?: undefined): string;
|
|
2273
|
+
encodeFunctionData(functionFragment: 'getTaskManagerAddress', values?: undefined): string;
|
|
2274
|
+
encodeFunctionData(functionFragment: 'getVersion', values?: undefined): string;
|
|
2275
|
+
encodeFunctionData(functionFragment: 'globalAllowed', values: [BigNumberish]): string;
|
|
2276
|
+
encodeFunctionData(functionFragment: 'hashTypedDataV4', values: [BytesLike]): string;
|
|
2277
|
+
encodeFunctionData(functionFragment: 'isAllowed', values: [BigNumberish, AddressLike]): string;
|
|
2278
|
+
encodeFunctionData(functionFragment: 'isAllowedForDecryption', values: [BigNumberish]): string;
|
|
2279
|
+
encodeFunctionData(functionFragment: 'isAllowedWithPermission', values: [PermissionStruct$2, BigNumberish]): string;
|
|
2280
|
+
encodeFunctionData(functionFragment: 'persistAllowed', values: [BigNumberish, AddressLike]): string;
|
|
2281
|
+
decodeFunctionResult(functionFragment: 'TASK_MANAGER_ADDRESS_', data: BytesLike): Result;
|
|
2282
|
+
decodeFunctionResult(functionFragment: 'allow', data: BytesLike): Result;
|
|
2283
|
+
decodeFunctionResult(functionFragment: 'allowForDecryption', data: BytesLike): Result;
|
|
2284
|
+
decodeFunctionResult(functionFragment: 'allowGlobal', data: BytesLike): Result;
|
|
2285
|
+
decodeFunctionResult(functionFragment: 'allowTransient', data: BytesLike): Result;
|
|
2286
|
+
decodeFunctionResult(functionFragment: 'allowedOnBehalf', data: BytesLike): Result;
|
|
2287
|
+
decodeFunctionResult(functionFragment: 'allowedTransient', data: BytesLike): Result;
|
|
2288
|
+
decodeFunctionResult(functionFragment: 'checkPermitValidity', data: BytesLike): Result;
|
|
2289
|
+
decodeFunctionResult(functionFragment: 'cleanTransientStorage', data: BytesLike): Result;
|
|
2290
|
+
decodeFunctionResult(functionFragment: 'delegateAccount', data: BytesLike): Result;
|
|
2291
|
+
decodeFunctionResult(functionFragment: 'eip712Domain', data: BytesLike): Result;
|
|
2292
|
+
decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result;
|
|
2293
|
+
decodeFunctionResult(functionFragment: 'getTaskManagerAddress', data: BytesLike): Result;
|
|
2294
|
+
decodeFunctionResult(functionFragment: 'getVersion', data: BytesLike): Result;
|
|
2295
|
+
decodeFunctionResult(functionFragment: 'globalAllowed', data: BytesLike): Result;
|
|
2296
|
+
decodeFunctionResult(functionFragment: 'hashTypedDataV4', data: BytesLike): Result;
|
|
2297
|
+
decodeFunctionResult(functionFragment: 'isAllowed', data: BytesLike): Result;
|
|
2298
|
+
decodeFunctionResult(functionFragment: 'isAllowedForDecryption', data: BytesLike): Result;
|
|
2299
|
+
decodeFunctionResult(functionFragment: 'isAllowedWithPermission', data: BytesLike): Result;
|
|
2300
|
+
decodeFunctionResult(functionFragment: 'persistAllowed', data: BytesLike): Result;
|
|
2301
|
+
}
|
|
2302
|
+
declare namespace AllowedForDecryptionEvent {
|
|
2303
|
+
type InputTuple = [handlesList: BigNumberish[]];
|
|
2304
|
+
type OutputTuple = [handlesList: bigint[]];
|
|
2305
|
+
interface OutputObject {
|
|
2306
|
+
handlesList: bigint[];
|
|
2307
|
+
}
|
|
2308
|
+
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
|
2309
|
+
type Filter = TypedDeferredTopicFilter<Event>;
|
|
2310
|
+
type Log = TypedEventLog<Event>;
|
|
2311
|
+
type LogDescription = TypedLogDescription<Event>;
|
|
2312
|
+
}
|
|
2313
|
+
declare namespace EIP712DomainChangedEvent {
|
|
2314
|
+
type InputTuple = [];
|
|
2315
|
+
type OutputTuple = [];
|
|
2316
|
+
interface OutputObject {
|
|
2317
|
+
}
|
|
2318
|
+
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
|
2319
|
+
type Filter = TypedDeferredTopicFilter<Event>;
|
|
2320
|
+
type Log = TypedEventLog<Event>;
|
|
2321
|
+
type LogDescription = TypedLogDescription<Event>;
|
|
2322
|
+
}
|
|
2323
|
+
declare namespace NewDelegationEvent {
|
|
2324
|
+
type InputTuple = [sender: AddressLike, delegatee: AddressLike, contractAddress: AddressLike];
|
|
2325
|
+
type OutputTuple = [sender: string, delegatee: string, contractAddress: string];
|
|
2326
|
+
interface OutputObject {
|
|
2327
|
+
sender: string;
|
|
2328
|
+
delegatee: string;
|
|
2329
|
+
contractAddress: string;
|
|
2330
|
+
}
|
|
2331
|
+
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
|
2332
|
+
type Filter = TypedDeferredTopicFilter<Event>;
|
|
2333
|
+
type Log = TypedEventLog<Event>;
|
|
2334
|
+
type LogDescription = TypedLogDescription<Event>;
|
|
2335
|
+
}
|
|
2336
|
+
interface MockACL extends BaseContract {
|
|
2337
|
+
connect(runner?: ContractRunner | null): MockACL;
|
|
2338
|
+
waitForDeployment(): Promise<this>;
|
|
2339
|
+
interface: MockACLInterface;
|
|
2340
|
+
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
2341
|
+
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
2342
|
+
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2343
|
+
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2344
|
+
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2345
|
+
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2346
|
+
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
|
2347
|
+
listeners(eventName?: string): Promise<Array<Listener>>;
|
|
2348
|
+
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
|
2349
|
+
TASK_MANAGER_ADDRESS_: TypedContractMethod<[], [string], 'view'>;
|
|
2350
|
+
allow: TypedContractMethod<[
|
|
2351
|
+
handle: BigNumberish,
|
|
2352
|
+
account: AddressLike,
|
|
2353
|
+
requester: AddressLike
|
|
2354
|
+
], [
|
|
2355
|
+
void
|
|
2356
|
+
], 'nonpayable'>;
|
|
2357
|
+
allowForDecryption: TypedContractMethod<[handlesList: BigNumberish[], requester: AddressLike], [void], 'nonpayable'>;
|
|
2358
|
+
allowGlobal: TypedContractMethod<[handle: BigNumberish, requester: AddressLike], [void], 'nonpayable'>;
|
|
2359
|
+
allowTransient: TypedContractMethod<[
|
|
2360
|
+
handle: BigNumberish,
|
|
2361
|
+
account: AddressLike,
|
|
2362
|
+
requester: AddressLike
|
|
2363
|
+
], [
|
|
2364
|
+
void
|
|
2365
|
+
], 'nonpayable'>;
|
|
2366
|
+
allowedOnBehalf: TypedContractMethod<[
|
|
2367
|
+
delegatee: AddressLike,
|
|
2368
|
+
handle: BigNumberish,
|
|
2369
|
+
contractAddress: AddressLike,
|
|
2370
|
+
account: AddressLike
|
|
2371
|
+
], [
|
|
2372
|
+
boolean
|
|
2373
|
+
], 'view'>;
|
|
2374
|
+
allowedTransient: TypedContractMethod<[handle: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2375
|
+
checkPermitValidity: TypedContractMethod<[permission: PermissionStruct$2], [boolean], 'view'>;
|
|
2376
|
+
cleanTransientStorage: TypedContractMethod<[], [void], 'nonpayable'>;
|
|
2377
|
+
delegateAccount: TypedContractMethod<[delegatee: AddressLike, delegateeContract: AddressLike], [void], 'nonpayable'>;
|
|
2378
|
+
eip712Domain: TypedContractMethod<[
|
|
2379
|
+
], [
|
|
2380
|
+
[
|
|
2381
|
+
string,
|
|
2382
|
+
string,
|
|
2383
|
+
string,
|
|
2384
|
+
bigint,
|
|
2385
|
+
string,
|
|
2386
|
+
string,
|
|
2387
|
+
bigint[]
|
|
2388
|
+
] & {
|
|
2389
|
+
fields: string;
|
|
2390
|
+
name: string;
|
|
2391
|
+
version: string;
|
|
2392
|
+
chainId: bigint;
|
|
2393
|
+
verifyingContract: string;
|
|
2394
|
+
salt: string;
|
|
2395
|
+
extensions: bigint[];
|
|
2396
|
+
}
|
|
2397
|
+
], 'view'>;
|
|
2398
|
+
exists: TypedContractMethod<[], [boolean], 'view'>;
|
|
2399
|
+
getTaskManagerAddress: TypedContractMethod<[], [string], 'view'>;
|
|
2400
|
+
getVersion: TypedContractMethod<[], [string], 'view'>;
|
|
2401
|
+
globalAllowed: TypedContractMethod<[handle: BigNumberish], [boolean], 'view'>;
|
|
2402
|
+
hashTypedDataV4: TypedContractMethod<[structHash: BytesLike], [string], 'view'>;
|
|
2403
|
+
isAllowed: TypedContractMethod<[handle: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2404
|
+
isAllowedForDecryption: TypedContractMethod<[handle: BigNumberish], [boolean], 'view'>;
|
|
2405
|
+
isAllowedWithPermission: TypedContractMethod<[permission: PermissionStruct$2, handle: BigNumberish], [boolean], 'view'>;
|
|
2406
|
+
persistAllowed: TypedContractMethod<[handle: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2407
|
+
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
|
2408
|
+
getFunction(nameOrSignature: 'TASK_MANAGER_ADDRESS_'): TypedContractMethod<[], [string], 'view'>;
|
|
2409
|
+
getFunction(nameOrSignature: 'allow'): TypedContractMethod<[handle: BigNumberish, account: AddressLike, requester: AddressLike], [void], 'nonpayable'>;
|
|
2410
|
+
getFunction(nameOrSignature: 'allowForDecryption'): TypedContractMethod<[handlesList: BigNumberish[], requester: AddressLike], [void], 'nonpayable'>;
|
|
2411
|
+
getFunction(nameOrSignature: 'allowGlobal'): TypedContractMethod<[handle: BigNumberish, requester: AddressLike], [void], 'nonpayable'>;
|
|
2412
|
+
getFunction(nameOrSignature: 'allowTransient'): TypedContractMethod<[handle: BigNumberish, account: AddressLike, requester: AddressLike], [void], 'nonpayable'>;
|
|
2413
|
+
getFunction(nameOrSignature: 'allowedOnBehalf'): TypedContractMethod<[
|
|
2414
|
+
delegatee: AddressLike,
|
|
2415
|
+
handle: BigNumberish,
|
|
2416
|
+
contractAddress: AddressLike,
|
|
2417
|
+
account: AddressLike
|
|
2418
|
+
], [
|
|
2419
|
+
boolean
|
|
2420
|
+
], 'view'>;
|
|
2421
|
+
getFunction(nameOrSignature: 'allowedTransient'): TypedContractMethod<[handle: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2422
|
+
getFunction(nameOrSignature: 'checkPermitValidity'): TypedContractMethod<[permission: PermissionStruct$2], [boolean], 'view'>;
|
|
2423
|
+
getFunction(nameOrSignature: 'cleanTransientStorage'): TypedContractMethod<[], [void], 'nonpayable'>;
|
|
2424
|
+
getFunction(nameOrSignature: 'delegateAccount'): TypedContractMethod<[delegatee: AddressLike, delegateeContract: AddressLike], [void], 'nonpayable'>;
|
|
2425
|
+
getFunction(nameOrSignature: 'eip712Domain'): TypedContractMethod<[
|
|
2426
|
+
], [
|
|
2427
|
+
[
|
|
2428
|
+
string,
|
|
2429
|
+
string,
|
|
2430
|
+
string,
|
|
2431
|
+
bigint,
|
|
2432
|
+
string,
|
|
2433
|
+
string,
|
|
2434
|
+
bigint[]
|
|
2435
|
+
] & {
|
|
2436
|
+
fields: string;
|
|
2437
|
+
name: string;
|
|
2438
|
+
version: string;
|
|
2439
|
+
chainId: bigint;
|
|
2440
|
+
verifyingContract: string;
|
|
2441
|
+
salt: string;
|
|
2442
|
+
extensions: bigint[];
|
|
2443
|
+
}
|
|
2444
|
+
], 'view'>;
|
|
2445
|
+
getFunction(nameOrSignature: 'exists'): TypedContractMethod<[], [boolean], 'view'>;
|
|
2446
|
+
getFunction(nameOrSignature: 'getTaskManagerAddress'): TypedContractMethod<[], [string], 'view'>;
|
|
2447
|
+
getFunction(nameOrSignature: 'getVersion'): TypedContractMethod<[], [string], 'view'>;
|
|
2448
|
+
getFunction(nameOrSignature: 'globalAllowed'): TypedContractMethod<[handle: BigNumberish], [boolean], 'view'>;
|
|
2449
|
+
getFunction(nameOrSignature: 'hashTypedDataV4'): TypedContractMethod<[structHash: BytesLike], [string], 'view'>;
|
|
2450
|
+
getFunction(nameOrSignature: 'isAllowed'): TypedContractMethod<[handle: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2451
|
+
getFunction(nameOrSignature: 'isAllowedForDecryption'): TypedContractMethod<[handle: BigNumberish], [boolean], 'view'>;
|
|
2452
|
+
getFunction(nameOrSignature: 'isAllowedWithPermission'): TypedContractMethod<[permission: PermissionStruct$2, handle: BigNumberish], [boolean], 'view'>;
|
|
2453
|
+
getFunction(nameOrSignature: 'persistAllowed'): TypedContractMethod<[handle: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2454
|
+
getEvent(key: 'AllowedForDecryption'): TypedContractEvent<AllowedForDecryptionEvent.InputTuple, AllowedForDecryptionEvent.OutputTuple, AllowedForDecryptionEvent.OutputObject>;
|
|
2455
|
+
getEvent(key: 'EIP712DomainChanged'): TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
|
|
2456
|
+
getEvent(key: 'NewDelegation'): TypedContractEvent<NewDelegationEvent.InputTuple, NewDelegationEvent.OutputTuple, NewDelegationEvent.OutputObject>;
|
|
2457
|
+
filters: {
|
|
2458
|
+
'AllowedForDecryption(uint256[])': TypedContractEvent<AllowedForDecryptionEvent.InputTuple, AllowedForDecryptionEvent.OutputTuple, AllowedForDecryptionEvent.OutputObject>;
|
|
2459
|
+
AllowedForDecryption: TypedContractEvent<AllowedForDecryptionEvent.InputTuple, AllowedForDecryptionEvent.OutputTuple, AllowedForDecryptionEvent.OutputObject>;
|
|
2460
|
+
'EIP712DomainChanged()': TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
|
|
2461
|
+
EIP712DomainChanged: TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
|
|
2462
|
+
'NewDelegation(address,address,address)': TypedContractEvent<NewDelegationEvent.InputTuple, NewDelegationEvent.OutputTuple, NewDelegationEvent.OutputObject>;
|
|
2463
|
+
NewDelegation: TypedContractEvent<NewDelegationEvent.InputTuple, NewDelegationEvent.OutputTuple, NewDelegationEvent.OutputObject>;
|
|
2464
|
+
};
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
type PermissionStruct$1 = {
|
|
2468
|
+
issuer: AddressLike;
|
|
2469
|
+
expiration: BigNumberish;
|
|
2470
|
+
recipient: AddressLike;
|
|
2471
|
+
validatorId: BigNumberish;
|
|
2472
|
+
validatorContract: AddressLike;
|
|
2473
|
+
sealingKey: BytesLike;
|
|
2474
|
+
issuerSignature: BytesLike;
|
|
2475
|
+
recipientSignature: BytesLike;
|
|
2476
|
+
};
|
|
2477
|
+
type EncryptedInputStruct = {
|
|
2478
|
+
ctHash: BigNumberish;
|
|
2479
|
+
securityZone: BigNumberish;
|
|
2480
|
+
utype: BigNumberish;
|
|
2481
|
+
signature: BytesLike;
|
|
2482
|
+
};
|
|
2483
|
+
interface MockTaskManagerInterface extends Interface {
|
|
2484
|
+
getFunction(nameOrSignature: 'MOCK_logAllow' | 'MOCK_setInEuintKey' | 'acl' | 'aggregator' | 'allow' | 'allowForDecryption' | 'allowGlobal' | 'allowTransient' | 'createDecryptTask' | 'createRandomTask' | 'createTask' | 'decryptResultSigner' | 'exists' | 'getDecryptResult' | 'getDecryptResultSafe' | 'handleDecryptResult' | 'handleError' | 'inMockStorage' | 'initialize' | 'isAllowed' | 'isAllowedWithPermission' | 'isInitialized' | 'isPubliclyAllowed' | 'logOps' | 'mockStorage' | 'publishDecryptResult' | 'publishDecryptResultBatch' | 'removeFirstLetter' | 'setACLContract' | 'setAggregator' | 'setDecryptResultSigner' | 'setLogOps' | 'setSecurityZoneMax' | 'setSecurityZoneMin' | 'setSecurityZones' | 'setVerifierSigner' | 'sliceString' | 'verifyDecryptResult' | 'verifyDecryptResultSafe' | 'verifyInput'): FunctionFragment;
|
|
2485
|
+
getEvent(nameOrSignatureOrTopic: 'DecryptionResult' | 'ProtocolNotification' | 'TaskCreated'): EventFragment;
|
|
2486
|
+
encodeFunctionData(functionFragment: 'MOCK_logAllow', values: [string, BigNumberish, AddressLike]): string;
|
|
2487
|
+
encodeFunctionData(functionFragment: 'MOCK_setInEuintKey', values: [BigNumberish, BigNumberish]): string;
|
|
2488
|
+
encodeFunctionData(functionFragment: 'acl', values?: undefined): string;
|
|
2489
|
+
encodeFunctionData(functionFragment: 'aggregator', values?: undefined): string;
|
|
2490
|
+
encodeFunctionData(functionFragment: 'allow', values: [BigNumberish, AddressLike]): string;
|
|
2491
|
+
encodeFunctionData(functionFragment: 'allowForDecryption', values: [BigNumberish]): string;
|
|
2492
|
+
encodeFunctionData(functionFragment: 'allowGlobal', values: [BigNumberish]): string;
|
|
2493
|
+
encodeFunctionData(functionFragment: 'allowTransient', values: [BigNumberish, AddressLike]): string;
|
|
2494
|
+
encodeFunctionData(functionFragment: 'createDecryptTask', values: [BigNumberish, AddressLike]): string;
|
|
2495
|
+
encodeFunctionData(functionFragment: 'createRandomTask', values: [BigNumberish, BigNumberish, BigNumberish]): string;
|
|
2496
|
+
encodeFunctionData(functionFragment: 'createTask', values: [BigNumberish, BigNumberish, BigNumberish[], BigNumberish[]]): string;
|
|
2497
|
+
encodeFunctionData(functionFragment: 'decryptResultSigner', values?: undefined): string;
|
|
2498
|
+
encodeFunctionData(functionFragment: 'exists', values?: undefined): string;
|
|
2499
|
+
encodeFunctionData(functionFragment: 'getDecryptResult', values: [BigNumberish]): string;
|
|
2500
|
+
encodeFunctionData(functionFragment: 'getDecryptResultSafe', values: [BigNumberish]): string;
|
|
2501
|
+
encodeFunctionData(functionFragment: 'handleDecryptResult', values: [BigNumberish, BigNumberish, AddressLike[]]): string;
|
|
2502
|
+
encodeFunctionData(functionFragment: 'handleError', values: [BigNumberish, string, string]): string;
|
|
2503
|
+
encodeFunctionData(functionFragment: 'inMockStorage', values: [BigNumberish]): string;
|
|
2504
|
+
encodeFunctionData(functionFragment: 'initialize', values: [AddressLike]): string;
|
|
2505
|
+
encodeFunctionData(functionFragment: 'isAllowed', values: [BigNumberish, AddressLike]): string;
|
|
2506
|
+
encodeFunctionData(functionFragment: 'isAllowedWithPermission', values: [PermissionStruct$1, BigNumberish]): string;
|
|
2507
|
+
encodeFunctionData(functionFragment: 'isInitialized', values?: undefined): string;
|
|
2508
|
+
encodeFunctionData(functionFragment: 'isPubliclyAllowed', values: [BigNumberish]): string;
|
|
2509
|
+
encodeFunctionData(functionFragment: 'logOps', values?: undefined): string;
|
|
2510
|
+
encodeFunctionData(functionFragment: 'mockStorage', values: [BigNumberish]): string;
|
|
2511
|
+
encodeFunctionData(functionFragment: 'publishDecryptResult', values: [BigNumberish, BigNumberish, BytesLike]): string;
|
|
2512
|
+
encodeFunctionData(functionFragment: 'publishDecryptResultBatch', values: [BigNumberish[], BigNumberish[], BytesLike[]]): string;
|
|
2513
|
+
encodeFunctionData(functionFragment: 'removeFirstLetter', values: [string]): string;
|
|
2514
|
+
encodeFunctionData(functionFragment: 'setACLContract', values: [AddressLike]): string;
|
|
2515
|
+
encodeFunctionData(functionFragment: 'setAggregator', values: [AddressLike]): string;
|
|
2516
|
+
encodeFunctionData(functionFragment: 'setDecryptResultSigner', values: [AddressLike]): string;
|
|
2517
|
+
encodeFunctionData(functionFragment: 'setLogOps', values: [boolean]): string;
|
|
2518
|
+
encodeFunctionData(functionFragment: 'setSecurityZoneMax', values: [BigNumberish]): string;
|
|
2519
|
+
encodeFunctionData(functionFragment: 'setSecurityZoneMin', values: [BigNumberish]): string;
|
|
2520
|
+
encodeFunctionData(functionFragment: 'setSecurityZones', values: [BigNumberish, BigNumberish]): string;
|
|
2521
|
+
encodeFunctionData(functionFragment: 'setVerifierSigner', values: [AddressLike]): string;
|
|
2522
|
+
encodeFunctionData(functionFragment: 'sliceString', values: [string, BigNumberish, BigNumberish]): string;
|
|
2523
|
+
encodeFunctionData(functionFragment: 'verifyDecryptResult', values: [BigNumberish, BigNumberish, BytesLike]): string;
|
|
2524
|
+
encodeFunctionData(functionFragment: 'verifyDecryptResultSafe', values: [BigNumberish, BigNumberish, BytesLike]): string;
|
|
2525
|
+
encodeFunctionData(functionFragment: 'verifyInput', values: [EncryptedInputStruct, AddressLike]): string;
|
|
2526
|
+
decodeFunctionResult(functionFragment: 'MOCK_logAllow', data: BytesLike): Result;
|
|
2527
|
+
decodeFunctionResult(functionFragment: 'MOCK_setInEuintKey', data: BytesLike): Result;
|
|
2528
|
+
decodeFunctionResult(functionFragment: 'acl', data: BytesLike): Result;
|
|
2529
|
+
decodeFunctionResult(functionFragment: 'aggregator', data: BytesLike): Result;
|
|
2530
|
+
decodeFunctionResult(functionFragment: 'allow', data: BytesLike): Result;
|
|
2531
|
+
decodeFunctionResult(functionFragment: 'allowForDecryption', data: BytesLike): Result;
|
|
2532
|
+
decodeFunctionResult(functionFragment: 'allowGlobal', data: BytesLike): Result;
|
|
2533
|
+
decodeFunctionResult(functionFragment: 'allowTransient', data: BytesLike): Result;
|
|
2534
|
+
decodeFunctionResult(functionFragment: 'createDecryptTask', data: BytesLike): Result;
|
|
2535
|
+
decodeFunctionResult(functionFragment: 'createRandomTask', data: BytesLike): Result;
|
|
2536
|
+
decodeFunctionResult(functionFragment: 'createTask', data: BytesLike): Result;
|
|
2537
|
+
decodeFunctionResult(functionFragment: 'decryptResultSigner', data: BytesLike): Result;
|
|
2538
|
+
decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result;
|
|
2539
|
+
decodeFunctionResult(functionFragment: 'getDecryptResult', data: BytesLike): Result;
|
|
2540
|
+
decodeFunctionResult(functionFragment: 'getDecryptResultSafe', data: BytesLike): Result;
|
|
2541
|
+
decodeFunctionResult(functionFragment: 'handleDecryptResult', data: BytesLike): Result;
|
|
2542
|
+
decodeFunctionResult(functionFragment: 'handleError', data: BytesLike): Result;
|
|
2543
|
+
decodeFunctionResult(functionFragment: 'inMockStorage', data: BytesLike): Result;
|
|
2544
|
+
decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
|
|
2545
|
+
decodeFunctionResult(functionFragment: 'isAllowed', data: BytesLike): Result;
|
|
2546
|
+
decodeFunctionResult(functionFragment: 'isAllowedWithPermission', data: BytesLike): Result;
|
|
2547
|
+
decodeFunctionResult(functionFragment: 'isInitialized', data: BytesLike): Result;
|
|
2548
|
+
decodeFunctionResult(functionFragment: 'isPubliclyAllowed', data: BytesLike): Result;
|
|
2549
|
+
decodeFunctionResult(functionFragment: 'logOps', data: BytesLike): Result;
|
|
2550
|
+
decodeFunctionResult(functionFragment: 'mockStorage', data: BytesLike): Result;
|
|
2551
|
+
decodeFunctionResult(functionFragment: 'publishDecryptResult', data: BytesLike): Result;
|
|
2552
|
+
decodeFunctionResult(functionFragment: 'publishDecryptResultBatch', data: BytesLike): Result;
|
|
2553
|
+
decodeFunctionResult(functionFragment: 'removeFirstLetter', data: BytesLike): Result;
|
|
2554
|
+
decodeFunctionResult(functionFragment: 'setACLContract', data: BytesLike): Result;
|
|
2555
|
+
decodeFunctionResult(functionFragment: 'setAggregator', data: BytesLike): Result;
|
|
2556
|
+
decodeFunctionResult(functionFragment: 'setDecryptResultSigner', data: BytesLike): Result;
|
|
2557
|
+
decodeFunctionResult(functionFragment: 'setLogOps', data: BytesLike): Result;
|
|
2558
|
+
decodeFunctionResult(functionFragment: 'setSecurityZoneMax', data: BytesLike): Result;
|
|
2559
|
+
decodeFunctionResult(functionFragment: 'setSecurityZoneMin', data: BytesLike): Result;
|
|
2560
|
+
decodeFunctionResult(functionFragment: 'setSecurityZones', data: BytesLike): Result;
|
|
2561
|
+
decodeFunctionResult(functionFragment: 'setVerifierSigner', data: BytesLike): Result;
|
|
2562
|
+
decodeFunctionResult(functionFragment: 'sliceString', data: BytesLike): Result;
|
|
2563
|
+
decodeFunctionResult(functionFragment: 'verifyDecryptResult', data: BytesLike): Result;
|
|
2564
|
+
decodeFunctionResult(functionFragment: 'verifyDecryptResultSafe', data: BytesLike): Result;
|
|
2565
|
+
decodeFunctionResult(functionFragment: 'verifyInput', data: BytesLike): Result;
|
|
2566
|
+
}
|
|
2567
|
+
declare namespace DecryptionResultEvent {
|
|
2568
|
+
type InputTuple = [ctHash: BigNumberish, result: BigNumberish, requestor: AddressLike];
|
|
2569
|
+
type OutputTuple = [ctHash: bigint, result: bigint, requestor: string];
|
|
2570
|
+
interface OutputObject {
|
|
2571
|
+
ctHash: bigint;
|
|
2572
|
+
result: bigint;
|
|
2573
|
+
requestor: string;
|
|
2574
|
+
}
|
|
2575
|
+
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
|
2576
|
+
type Filter = TypedDeferredTopicFilter<Event>;
|
|
2577
|
+
type Log = TypedEventLog<Event>;
|
|
2578
|
+
type LogDescription = TypedLogDescription<Event>;
|
|
2579
|
+
}
|
|
2580
|
+
declare namespace ProtocolNotificationEvent {
|
|
2581
|
+
type InputTuple = [ctHash: BigNumberish, operation: string, errorMessage: string];
|
|
2582
|
+
type OutputTuple = [ctHash: bigint, operation: string, errorMessage: string];
|
|
2583
|
+
interface OutputObject {
|
|
2584
|
+
ctHash: bigint;
|
|
2585
|
+
operation: string;
|
|
2586
|
+
errorMessage: string;
|
|
2587
|
+
}
|
|
2588
|
+
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
|
2589
|
+
type Filter = TypedDeferredTopicFilter<Event>;
|
|
2590
|
+
type Log = TypedEventLog<Event>;
|
|
2591
|
+
type LogDescription = TypedLogDescription<Event>;
|
|
2592
|
+
}
|
|
2593
|
+
declare namespace TaskCreatedEvent {
|
|
2594
|
+
type InputTuple = [
|
|
2595
|
+
ctHash: BigNumberish,
|
|
2596
|
+
operation: string,
|
|
2597
|
+
input1: BigNumberish,
|
|
2598
|
+
input2: BigNumberish,
|
|
2599
|
+
input3: BigNumberish
|
|
2600
|
+
];
|
|
2601
|
+
type OutputTuple = [ctHash: bigint, operation: string, input1: bigint, input2: bigint, input3: bigint];
|
|
2602
|
+
interface OutputObject {
|
|
2603
|
+
ctHash: bigint;
|
|
2604
|
+
operation: string;
|
|
2605
|
+
input1: bigint;
|
|
2606
|
+
input2: bigint;
|
|
2607
|
+
input3: bigint;
|
|
2608
|
+
}
|
|
2609
|
+
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
|
2610
|
+
type Filter = TypedDeferredTopicFilter<Event>;
|
|
2611
|
+
type Log = TypedEventLog<Event>;
|
|
2612
|
+
type LogDescription = TypedLogDescription<Event>;
|
|
2613
|
+
}
|
|
2614
|
+
interface MockTaskManager extends BaseContract {
|
|
2615
|
+
connect(runner?: ContractRunner | null): MockTaskManager;
|
|
2616
|
+
waitForDeployment(): Promise<this>;
|
|
2617
|
+
interface: MockTaskManagerInterface;
|
|
2618
|
+
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
2619
|
+
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
2620
|
+
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2621
|
+
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2622
|
+
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2623
|
+
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2624
|
+
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
|
2625
|
+
listeners(eventName?: string): Promise<Array<Listener>>;
|
|
2626
|
+
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
|
2627
|
+
MOCK_logAllow: TypedContractMethod<[operation: string, ctHash: BigNumberish, account: AddressLike], [void], 'view'>;
|
|
2628
|
+
MOCK_setInEuintKey: TypedContractMethod<[ctHash: BigNumberish, value: BigNumberish], [void], 'nonpayable'>;
|
|
2629
|
+
acl: TypedContractMethod<[], [string], 'view'>;
|
|
2630
|
+
aggregator: TypedContractMethod<[], [string], 'view'>;
|
|
2631
|
+
allow: TypedContractMethod<[ctHash: BigNumberish, account: AddressLike], [void], 'nonpayable'>;
|
|
2632
|
+
allowForDecryption: TypedContractMethod<[ctHash: BigNumberish], [void], 'nonpayable'>;
|
|
2633
|
+
allowGlobal: TypedContractMethod<[ctHash: BigNumberish], [void], 'nonpayable'>;
|
|
2634
|
+
allowTransient: TypedContractMethod<[ctHash: BigNumberish, account: AddressLike], [void], 'nonpayable'>;
|
|
2635
|
+
createDecryptTask: TypedContractMethod<[ctHash: BigNumberish, arg1: AddressLike], [void], 'nonpayable'>;
|
|
2636
|
+
createRandomTask: TypedContractMethod<[
|
|
2637
|
+
returnType: BigNumberish,
|
|
2638
|
+
seed: BigNumberish,
|
|
2639
|
+
securityZone: BigNumberish
|
|
2640
|
+
], [
|
|
2641
|
+
bigint
|
|
2642
|
+
], 'nonpayable'>;
|
|
2643
|
+
createTask: TypedContractMethod<[
|
|
2644
|
+
returnType: BigNumberish,
|
|
2645
|
+
funcId: BigNumberish,
|
|
2646
|
+
encryptedHashes: BigNumberish[],
|
|
2647
|
+
extraInputs: BigNumberish[]
|
|
2648
|
+
], [
|
|
2649
|
+
bigint
|
|
2650
|
+
], 'nonpayable'>;
|
|
2651
|
+
decryptResultSigner: TypedContractMethod<[], [string], 'view'>;
|
|
2652
|
+
exists: TypedContractMethod<[], [boolean], 'view'>;
|
|
2653
|
+
getDecryptResult: TypedContractMethod<[ctHash: BigNumberish], [bigint], 'view'>;
|
|
2654
|
+
getDecryptResultSafe: TypedContractMethod<[
|
|
2655
|
+
ctHash: BigNumberish
|
|
2656
|
+
], [
|
|
2657
|
+
[bigint, boolean] & {
|
|
2658
|
+
result: bigint;
|
|
2659
|
+
decrypted: boolean;
|
|
2660
|
+
}
|
|
2661
|
+
], 'view'>;
|
|
2662
|
+
handleDecryptResult: TypedContractMethod<[
|
|
2663
|
+
ctHash: BigNumberish,
|
|
2664
|
+
result: BigNumberish,
|
|
2665
|
+
arg2: AddressLike[]
|
|
2666
|
+
], [
|
|
2667
|
+
void
|
|
2668
|
+
], 'nonpayable'>;
|
|
2669
|
+
handleError: TypedContractMethod<[
|
|
2670
|
+
ctHash: BigNumberish,
|
|
2671
|
+
operation: string,
|
|
2672
|
+
errorMessage: string
|
|
2673
|
+
], [
|
|
2674
|
+
void
|
|
2675
|
+
], 'nonpayable'>;
|
|
2676
|
+
inMockStorage: TypedContractMethod<[arg0: BigNumberish], [boolean], 'view'>;
|
|
2677
|
+
initialize: TypedContractMethod<[initialOwner: AddressLike], [void], 'nonpayable'>;
|
|
2678
|
+
isAllowed: TypedContractMethod<[ctHash: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2679
|
+
isAllowedWithPermission: TypedContractMethod<[permission: PermissionStruct$1, handle: BigNumberish], [boolean], 'view'>;
|
|
2680
|
+
isInitialized: TypedContractMethod<[], [boolean], 'view'>;
|
|
2681
|
+
isPubliclyAllowed: TypedContractMethod<[ctHash: BigNumberish], [boolean], 'view'>;
|
|
2682
|
+
logOps: TypedContractMethod<[], [boolean], 'view'>;
|
|
2683
|
+
mockStorage: TypedContractMethod<[arg0: BigNumberish], [bigint], 'view'>;
|
|
2684
|
+
publishDecryptResult: TypedContractMethod<[
|
|
2685
|
+
ctHash: BigNumberish,
|
|
2686
|
+
result: BigNumberish,
|
|
2687
|
+
signature: BytesLike
|
|
2688
|
+
], [
|
|
2689
|
+
void
|
|
2690
|
+
], 'nonpayable'>;
|
|
2691
|
+
publishDecryptResultBatch: TypedContractMethod<[
|
|
2692
|
+
ctHashes: BigNumberish[],
|
|
2693
|
+
results: BigNumberish[],
|
|
2694
|
+
signatures: BytesLike[]
|
|
2695
|
+
], [
|
|
2696
|
+
void
|
|
2697
|
+
], 'nonpayable'>;
|
|
2698
|
+
removeFirstLetter: TypedContractMethod<[str: string], [string], 'view'>;
|
|
2699
|
+
setACLContract: TypedContractMethod<[_aclAddress: AddressLike], [void], 'nonpayable'>;
|
|
2700
|
+
setAggregator: TypedContractMethod<[_aggregatorAddress: AddressLike], [void], 'nonpayable'>;
|
|
2701
|
+
setDecryptResultSigner: TypedContractMethod<[signer: AddressLike], [void], 'nonpayable'>;
|
|
2702
|
+
setLogOps: TypedContractMethod<[_logOps: boolean], [void], 'nonpayable'>;
|
|
2703
|
+
setSecurityZoneMax: TypedContractMethod<[securityZone: BigNumberish], [void], 'nonpayable'>;
|
|
2704
|
+
setSecurityZoneMin: TypedContractMethod<[securityZone: BigNumberish], [void], 'nonpayable'>;
|
|
2705
|
+
setSecurityZones: TypedContractMethod<[minSZ: BigNumberish, maxSZ: BigNumberish], [void], 'nonpayable'>;
|
|
2706
|
+
setVerifierSigner: TypedContractMethod<[signer: AddressLike], [void], 'nonpayable'>;
|
|
2707
|
+
sliceString: TypedContractMethod<[str: string, start: BigNumberish, length: BigNumberish], [string], 'view'>;
|
|
2708
|
+
verifyDecryptResult: TypedContractMethod<[
|
|
2709
|
+
ctHash: BigNumberish,
|
|
2710
|
+
result: BigNumberish,
|
|
2711
|
+
signature: BytesLike
|
|
2712
|
+
], [
|
|
2713
|
+
boolean
|
|
2714
|
+
], 'view'>;
|
|
2715
|
+
verifyDecryptResultSafe: TypedContractMethod<[
|
|
2716
|
+
ctHash: BigNumberish,
|
|
2717
|
+
result: BigNumberish,
|
|
2718
|
+
signature: BytesLike
|
|
2719
|
+
], [
|
|
2720
|
+
boolean
|
|
2721
|
+
], 'view'>;
|
|
2722
|
+
verifyInput: TypedContractMethod<[input: EncryptedInputStruct, sender: AddressLike], [bigint], 'nonpayable'>;
|
|
2723
|
+
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
|
2724
|
+
getFunction(nameOrSignature: 'MOCK_logAllow'): TypedContractMethod<[operation: string, ctHash: BigNumberish, account: AddressLike], [void], 'view'>;
|
|
2725
|
+
getFunction(nameOrSignature: 'MOCK_setInEuintKey'): TypedContractMethod<[ctHash: BigNumberish, value: BigNumberish], [void], 'nonpayable'>;
|
|
2726
|
+
getFunction(nameOrSignature: 'acl'): TypedContractMethod<[], [string], 'view'>;
|
|
2727
|
+
getFunction(nameOrSignature: 'aggregator'): TypedContractMethod<[], [string], 'view'>;
|
|
2728
|
+
getFunction(nameOrSignature: 'allow'): TypedContractMethod<[ctHash: BigNumberish, account: AddressLike], [void], 'nonpayable'>;
|
|
2729
|
+
getFunction(nameOrSignature: 'allowForDecryption'): TypedContractMethod<[ctHash: BigNumberish], [void], 'nonpayable'>;
|
|
2730
|
+
getFunction(nameOrSignature: 'allowGlobal'): TypedContractMethod<[ctHash: BigNumberish], [void], 'nonpayable'>;
|
|
2731
|
+
getFunction(nameOrSignature: 'allowTransient'): TypedContractMethod<[ctHash: BigNumberish, account: AddressLike], [void], 'nonpayable'>;
|
|
2732
|
+
getFunction(nameOrSignature: 'createDecryptTask'): TypedContractMethod<[ctHash: BigNumberish, arg1: AddressLike], [void], 'nonpayable'>;
|
|
2733
|
+
getFunction(nameOrSignature: 'createRandomTask'): TypedContractMethod<[
|
|
2734
|
+
returnType: BigNumberish,
|
|
2735
|
+
seed: BigNumberish,
|
|
2736
|
+
securityZone: BigNumberish
|
|
2737
|
+
], [
|
|
2738
|
+
bigint
|
|
2739
|
+
], 'nonpayable'>;
|
|
2740
|
+
getFunction(nameOrSignature: 'createTask'): TypedContractMethod<[
|
|
2741
|
+
returnType: BigNumberish,
|
|
2742
|
+
funcId: BigNumberish,
|
|
2743
|
+
encryptedHashes: BigNumberish[],
|
|
2744
|
+
extraInputs: BigNumberish[]
|
|
2745
|
+
], [
|
|
2746
|
+
bigint
|
|
2747
|
+
], 'nonpayable'>;
|
|
2748
|
+
getFunction(nameOrSignature: 'decryptResultSigner'): TypedContractMethod<[], [string], 'view'>;
|
|
2749
|
+
getFunction(nameOrSignature: 'exists'): TypedContractMethod<[], [boolean], 'view'>;
|
|
2750
|
+
getFunction(nameOrSignature: 'getDecryptResult'): TypedContractMethod<[ctHash: BigNumberish], [bigint], 'view'>;
|
|
2751
|
+
getFunction(nameOrSignature: 'getDecryptResultSafe'): TypedContractMethod<[ctHash: BigNumberish], [[bigint, boolean] & {
|
|
2752
|
+
result: bigint;
|
|
2753
|
+
decrypted: boolean;
|
|
2754
|
+
}], 'view'>;
|
|
2755
|
+
getFunction(nameOrSignature: 'handleDecryptResult'): TypedContractMethod<[ctHash: BigNumberish, result: BigNumberish, arg2: AddressLike[]], [void], 'nonpayable'>;
|
|
2756
|
+
getFunction(nameOrSignature: 'handleError'): TypedContractMethod<[ctHash: BigNumberish, operation: string, errorMessage: string], [void], 'nonpayable'>;
|
|
2757
|
+
getFunction(nameOrSignature: 'inMockStorage'): TypedContractMethod<[arg0: BigNumberish], [boolean], 'view'>;
|
|
2758
|
+
getFunction(nameOrSignature: 'initialize'): TypedContractMethod<[initialOwner: AddressLike], [void], 'nonpayable'>;
|
|
2759
|
+
getFunction(nameOrSignature: 'isAllowed'): TypedContractMethod<[ctHash: BigNumberish, account: AddressLike], [boolean], 'view'>;
|
|
2760
|
+
getFunction(nameOrSignature: 'isAllowedWithPermission'): TypedContractMethod<[permission: PermissionStruct$1, handle: BigNumberish], [boolean], 'view'>;
|
|
2761
|
+
getFunction(nameOrSignature: 'isInitialized'): TypedContractMethod<[], [boolean], 'view'>;
|
|
2762
|
+
getFunction(nameOrSignature: 'isPubliclyAllowed'): TypedContractMethod<[ctHash: BigNumberish], [boolean], 'view'>;
|
|
2763
|
+
getFunction(nameOrSignature: 'logOps'): TypedContractMethod<[], [boolean], 'view'>;
|
|
2764
|
+
getFunction(nameOrSignature: 'mockStorage'): TypedContractMethod<[arg0: BigNumberish], [bigint], 'view'>;
|
|
2765
|
+
getFunction(nameOrSignature: 'publishDecryptResult'): TypedContractMethod<[ctHash: BigNumberish, result: BigNumberish, signature: BytesLike], [void], 'nonpayable'>;
|
|
2766
|
+
getFunction(nameOrSignature: 'publishDecryptResultBatch'): TypedContractMethod<[
|
|
2767
|
+
ctHashes: BigNumberish[],
|
|
2768
|
+
results: BigNumberish[],
|
|
2769
|
+
signatures: BytesLike[]
|
|
2770
|
+
], [
|
|
2771
|
+
void
|
|
2772
|
+
], 'nonpayable'>;
|
|
2773
|
+
getFunction(nameOrSignature: 'removeFirstLetter'): TypedContractMethod<[str: string], [string], 'view'>;
|
|
2774
|
+
getFunction(nameOrSignature: 'setACLContract'): TypedContractMethod<[_aclAddress: AddressLike], [void], 'nonpayable'>;
|
|
2775
|
+
getFunction(nameOrSignature: 'setAggregator'): TypedContractMethod<[_aggregatorAddress: AddressLike], [void], 'nonpayable'>;
|
|
2776
|
+
getFunction(nameOrSignature: 'setDecryptResultSigner'): TypedContractMethod<[signer: AddressLike], [void], 'nonpayable'>;
|
|
2777
|
+
getFunction(nameOrSignature: 'setLogOps'): TypedContractMethod<[_logOps: boolean], [void], 'nonpayable'>;
|
|
2778
|
+
getFunction(nameOrSignature: 'setSecurityZoneMax'): TypedContractMethod<[securityZone: BigNumberish], [void], 'nonpayable'>;
|
|
2779
|
+
getFunction(nameOrSignature: 'setSecurityZoneMin'): TypedContractMethod<[securityZone: BigNumberish], [void], 'nonpayable'>;
|
|
2780
|
+
getFunction(nameOrSignature: 'setSecurityZones'): TypedContractMethod<[minSZ: BigNumberish, maxSZ: BigNumberish], [void], 'nonpayable'>;
|
|
2781
|
+
getFunction(nameOrSignature: 'setVerifierSigner'): TypedContractMethod<[signer: AddressLike], [void], 'nonpayable'>;
|
|
2782
|
+
getFunction(nameOrSignature: 'sliceString'): TypedContractMethod<[str: string, start: BigNumberish, length: BigNumberish], [string], 'view'>;
|
|
2783
|
+
getFunction(nameOrSignature: 'verifyDecryptResult'): TypedContractMethod<[ctHash: BigNumberish, result: BigNumberish, signature: BytesLike], [boolean], 'view'>;
|
|
2784
|
+
getFunction(nameOrSignature: 'verifyDecryptResultSafe'): TypedContractMethod<[ctHash: BigNumberish, result: BigNumberish, signature: BytesLike], [boolean], 'view'>;
|
|
2785
|
+
getFunction(nameOrSignature: 'verifyInput'): TypedContractMethod<[input: EncryptedInputStruct, sender: AddressLike], [bigint], 'nonpayable'>;
|
|
2786
|
+
getEvent(key: 'DecryptionResult'): TypedContractEvent<DecryptionResultEvent.InputTuple, DecryptionResultEvent.OutputTuple, DecryptionResultEvent.OutputObject>;
|
|
2787
|
+
getEvent(key: 'ProtocolNotification'): TypedContractEvent<ProtocolNotificationEvent.InputTuple, ProtocolNotificationEvent.OutputTuple, ProtocolNotificationEvent.OutputObject>;
|
|
2788
|
+
getEvent(key: 'TaskCreated'): TypedContractEvent<TaskCreatedEvent.InputTuple, TaskCreatedEvent.OutputTuple, TaskCreatedEvent.OutputObject>;
|
|
2789
|
+
filters: {
|
|
2790
|
+
'DecryptionResult(uint256,uint256,address)': TypedContractEvent<DecryptionResultEvent.InputTuple, DecryptionResultEvent.OutputTuple, DecryptionResultEvent.OutputObject>;
|
|
2791
|
+
DecryptionResult: TypedContractEvent<DecryptionResultEvent.InputTuple, DecryptionResultEvent.OutputTuple, DecryptionResultEvent.OutputObject>;
|
|
2792
|
+
'ProtocolNotification(uint256,string,string)': TypedContractEvent<ProtocolNotificationEvent.InputTuple, ProtocolNotificationEvent.OutputTuple, ProtocolNotificationEvent.OutputObject>;
|
|
2793
|
+
ProtocolNotification: TypedContractEvent<ProtocolNotificationEvent.InputTuple, ProtocolNotificationEvent.OutputTuple, ProtocolNotificationEvent.OutputObject>;
|
|
2794
|
+
'TaskCreated(uint256,string,uint256,uint256,uint256)': TypedContractEvent<TaskCreatedEvent.InputTuple, TaskCreatedEvent.OutputTuple, TaskCreatedEvent.OutputObject>;
|
|
2795
|
+
TaskCreated: TypedContractEvent<TaskCreatedEvent.InputTuple, TaskCreatedEvent.OutputTuple, TaskCreatedEvent.OutputObject>;
|
|
2796
|
+
};
|
|
2797
|
+
}
|
|
2798
|
+
|
|
2799
|
+
type PermissionStruct = {
|
|
2800
|
+
issuer: AddressLike;
|
|
2801
|
+
expiration: BigNumberish;
|
|
2802
|
+
recipient: AddressLike;
|
|
2803
|
+
validatorId: BigNumberish;
|
|
2804
|
+
validatorContract: AddressLike;
|
|
2805
|
+
sealingKey: BytesLike;
|
|
2806
|
+
issuerSignature: BytesLike;
|
|
2807
|
+
recipientSignature: BytesLike;
|
|
2808
|
+
};
|
|
2809
|
+
interface MockThresholdNetworkInterface extends Interface {
|
|
2810
|
+
getFunction(nameOrSignature: 'decodeLowLevelReversion' | 'decryptForTxWithPermit' | 'decryptForTxWithoutPermit' | 'exists' | 'initialize' | 'mockAcl' | 'mockQueryDecrypt' | 'mockTaskManager' | 'queryDecrypt' | 'querySealOutput' | 'seal' | 'unseal'): FunctionFragment;
|
|
2811
|
+
encodeFunctionData(functionFragment: 'decodeLowLevelReversion', values: [BytesLike]): string;
|
|
2812
|
+
encodeFunctionData(functionFragment: 'decryptForTxWithPermit', values: [BigNumberish, PermissionStruct]): string;
|
|
2813
|
+
encodeFunctionData(functionFragment: 'decryptForTxWithoutPermit', values: [BigNumberish]): string;
|
|
2814
|
+
encodeFunctionData(functionFragment: 'exists', values?: undefined): string;
|
|
2815
|
+
encodeFunctionData(functionFragment: 'initialize', values: [AddressLike, AddressLike]): string;
|
|
2816
|
+
encodeFunctionData(functionFragment: 'mockAcl', values?: undefined): string;
|
|
2817
|
+
encodeFunctionData(functionFragment: 'mockQueryDecrypt', values: [BigNumberish, BigNumberish, AddressLike]): string;
|
|
2818
|
+
encodeFunctionData(functionFragment: 'mockTaskManager', values?: undefined): string;
|
|
2819
|
+
encodeFunctionData(functionFragment: 'queryDecrypt', values: [BigNumberish, BigNumberish, PermissionStruct]): string;
|
|
2820
|
+
encodeFunctionData(functionFragment: 'querySealOutput', values: [BigNumberish, BigNumberish, PermissionStruct]): string;
|
|
2821
|
+
encodeFunctionData(functionFragment: 'seal', values: [BigNumberish, BytesLike]): string;
|
|
2822
|
+
encodeFunctionData(functionFragment: 'unseal', values: [BytesLike, BytesLike]): string;
|
|
2823
|
+
decodeFunctionResult(functionFragment: 'decodeLowLevelReversion', data: BytesLike): Result;
|
|
2824
|
+
decodeFunctionResult(functionFragment: 'decryptForTxWithPermit', data: BytesLike): Result;
|
|
2825
|
+
decodeFunctionResult(functionFragment: 'decryptForTxWithoutPermit', data: BytesLike): Result;
|
|
2826
|
+
decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result;
|
|
2827
|
+
decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
|
|
2828
|
+
decodeFunctionResult(functionFragment: 'mockAcl', data: BytesLike): Result;
|
|
2829
|
+
decodeFunctionResult(functionFragment: 'mockQueryDecrypt', data: BytesLike): Result;
|
|
2830
|
+
decodeFunctionResult(functionFragment: 'mockTaskManager', data: BytesLike): Result;
|
|
2831
|
+
decodeFunctionResult(functionFragment: 'queryDecrypt', data: BytesLike): Result;
|
|
2832
|
+
decodeFunctionResult(functionFragment: 'querySealOutput', data: BytesLike): Result;
|
|
2833
|
+
decodeFunctionResult(functionFragment: 'seal', data: BytesLike): Result;
|
|
2834
|
+
decodeFunctionResult(functionFragment: 'unseal', data: BytesLike): Result;
|
|
2835
|
+
}
|
|
2836
|
+
interface MockThresholdNetwork extends BaseContract {
|
|
2837
|
+
connect(runner?: ContractRunner | null): MockThresholdNetwork;
|
|
2838
|
+
waitForDeployment(): Promise<this>;
|
|
2839
|
+
interface: MockThresholdNetworkInterface;
|
|
2840
|
+
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
2841
|
+
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
2842
|
+
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2843
|
+
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2844
|
+
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2845
|
+
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
2846
|
+
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
|
2847
|
+
listeners(eventName?: string): Promise<Array<Listener>>;
|
|
2848
|
+
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
|
2849
|
+
decodeLowLevelReversion: TypedContractMethod<[data: BytesLike], [string], 'view'>;
|
|
2850
|
+
decryptForTxWithPermit: TypedContractMethod<[
|
|
2851
|
+
ctHash: BigNumberish,
|
|
2852
|
+
permission: PermissionStruct
|
|
2853
|
+
], [
|
|
2854
|
+
[
|
|
2855
|
+
boolean,
|
|
2856
|
+
string,
|
|
2857
|
+
bigint
|
|
2858
|
+
] & {
|
|
2859
|
+
allowed: boolean;
|
|
2860
|
+
error: string;
|
|
2861
|
+
decryptedValue: bigint;
|
|
2862
|
+
}
|
|
2863
|
+
], 'view'>;
|
|
2864
|
+
decryptForTxWithoutPermit: TypedContractMethod<[
|
|
2865
|
+
ctHash: BigNumberish
|
|
2866
|
+
], [
|
|
2867
|
+
[
|
|
2868
|
+
boolean,
|
|
2869
|
+
string,
|
|
2870
|
+
bigint
|
|
2871
|
+
] & {
|
|
2872
|
+
allowed: boolean;
|
|
2873
|
+
error: string;
|
|
2874
|
+
decryptedValue: bigint;
|
|
2875
|
+
}
|
|
2876
|
+
], 'view'>;
|
|
2877
|
+
exists: TypedContractMethod<[], [boolean], 'view'>;
|
|
2878
|
+
initialize: TypedContractMethod<[_taskManager: AddressLike, _acl: AddressLike], [void], 'nonpayable'>;
|
|
2879
|
+
mockAcl: TypedContractMethod<[], [string], 'view'>;
|
|
2880
|
+
mockQueryDecrypt: TypedContractMethod<[
|
|
2881
|
+
ctHash: BigNumberish,
|
|
2882
|
+
arg1: BigNumberish,
|
|
2883
|
+
issuer: AddressLike
|
|
2884
|
+
], [
|
|
2885
|
+
[boolean, string, bigint] & {
|
|
2886
|
+
allowed: boolean;
|
|
2887
|
+
error: string;
|
|
2888
|
+
}
|
|
2889
|
+
], 'view'>;
|
|
2890
|
+
mockTaskManager: TypedContractMethod<[], [string], 'view'>;
|
|
2891
|
+
queryDecrypt: TypedContractMethod<[
|
|
2892
|
+
ctHash: BigNumberish,
|
|
2893
|
+
arg1: BigNumberish,
|
|
2894
|
+
permission: PermissionStruct
|
|
2895
|
+
], [
|
|
2896
|
+
[boolean, string, bigint] & {
|
|
2897
|
+
allowed: boolean;
|
|
2898
|
+
error: string;
|
|
2899
|
+
}
|
|
2900
|
+
], 'view'>;
|
|
2901
|
+
querySealOutput: TypedContractMethod<[
|
|
2902
|
+
ctHash: BigNumberish,
|
|
2903
|
+
arg1: BigNumberish,
|
|
2904
|
+
permission: PermissionStruct
|
|
2905
|
+
], [
|
|
2906
|
+
[boolean, string, string] & {
|
|
2907
|
+
allowed: boolean;
|
|
2908
|
+
error: string;
|
|
2909
|
+
}
|
|
2910
|
+
], 'view'>;
|
|
2911
|
+
seal: TypedContractMethod<[input: BigNumberish, key: BytesLike], [string], 'view'>;
|
|
2912
|
+
unseal: TypedContractMethod<[hashed: BytesLike, key: BytesLike], [bigint], 'view'>;
|
|
2913
|
+
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
|
2914
|
+
getFunction(nameOrSignature: 'decodeLowLevelReversion'): TypedContractMethod<[data: BytesLike], [string], 'view'>;
|
|
2915
|
+
getFunction(nameOrSignature: 'decryptForTxWithPermit'): TypedContractMethod<[
|
|
2916
|
+
ctHash: BigNumberish,
|
|
2917
|
+
permission: PermissionStruct
|
|
2918
|
+
], [
|
|
2919
|
+
[
|
|
2920
|
+
boolean,
|
|
2921
|
+
string,
|
|
2922
|
+
bigint
|
|
2923
|
+
] & {
|
|
2924
|
+
allowed: boolean;
|
|
2925
|
+
error: string;
|
|
2926
|
+
decryptedValue: bigint;
|
|
2927
|
+
}
|
|
2928
|
+
], 'view'>;
|
|
2929
|
+
getFunction(nameOrSignature: 'decryptForTxWithoutPermit'): TypedContractMethod<[
|
|
2930
|
+
ctHash: BigNumberish
|
|
2931
|
+
], [
|
|
2932
|
+
[
|
|
2933
|
+
boolean,
|
|
2934
|
+
string,
|
|
2935
|
+
bigint
|
|
2936
|
+
] & {
|
|
2937
|
+
allowed: boolean;
|
|
2938
|
+
error: string;
|
|
2939
|
+
decryptedValue: bigint;
|
|
2940
|
+
}
|
|
2941
|
+
], 'view'>;
|
|
2942
|
+
getFunction(nameOrSignature: 'exists'): TypedContractMethod<[], [boolean], 'view'>;
|
|
2943
|
+
getFunction(nameOrSignature: 'initialize'): TypedContractMethod<[_taskManager: AddressLike, _acl: AddressLike], [void], 'nonpayable'>;
|
|
2944
|
+
getFunction(nameOrSignature: 'mockAcl'): TypedContractMethod<[], [string], 'view'>;
|
|
2945
|
+
getFunction(nameOrSignature: 'mockQueryDecrypt'): TypedContractMethod<[
|
|
2946
|
+
ctHash: BigNumberish,
|
|
2947
|
+
arg1: BigNumberish,
|
|
2948
|
+
issuer: AddressLike
|
|
2949
|
+
], [
|
|
2950
|
+
[boolean, string, bigint] & {
|
|
2951
|
+
allowed: boolean;
|
|
2952
|
+
error: string;
|
|
2953
|
+
}
|
|
2954
|
+
], 'view'>;
|
|
2955
|
+
getFunction(nameOrSignature: 'mockTaskManager'): TypedContractMethod<[], [string], 'view'>;
|
|
2956
|
+
getFunction(nameOrSignature: 'queryDecrypt'): TypedContractMethod<[
|
|
2957
|
+
ctHash: BigNumberish,
|
|
2958
|
+
arg1: BigNumberish,
|
|
2959
|
+
permission: PermissionStruct
|
|
2960
|
+
], [
|
|
2961
|
+
[boolean, string, bigint] & {
|
|
2962
|
+
allowed: boolean;
|
|
2963
|
+
error: string;
|
|
2964
|
+
}
|
|
2965
|
+
], 'view'>;
|
|
2966
|
+
getFunction(nameOrSignature: 'querySealOutput'): TypedContractMethod<[
|
|
2967
|
+
ctHash: BigNumberish,
|
|
2968
|
+
arg1: BigNumberish,
|
|
2969
|
+
permission: PermissionStruct
|
|
2970
|
+
], [
|
|
2971
|
+
[boolean, string, string] & {
|
|
2972
|
+
allowed: boolean;
|
|
2973
|
+
error: string;
|
|
2974
|
+
}
|
|
2975
|
+
], 'view'>;
|
|
2976
|
+
getFunction(nameOrSignature: 'seal'): TypedContractMethod<[input: BigNumberish, key: BytesLike], [string], 'view'>;
|
|
2977
|
+
getFunction(nameOrSignature: 'unseal'): TypedContractMethod<[hashed: BytesLike, key: BytesLike], [bigint], 'view'>;
|
|
2978
|
+
filters: {};
|
|
2979
|
+
}
|
|
2980
|
+
|
|
2981
|
+
type EncryptedInputStructOutput = [ctHash: bigint, securityZone: bigint, utype: bigint, signature: string] & {
|
|
2982
|
+
ctHash: bigint;
|
|
2983
|
+
securityZone: bigint;
|
|
2984
|
+
utype: bigint;
|
|
2985
|
+
signature: string;
|
|
2986
|
+
};
|
|
2987
|
+
interface MockZkVerifierInterface extends Interface {
|
|
2988
|
+
getFunction(nameOrSignature: 'exists' | 'insertCtHash' | 'insertPackedCtHashes' | 'zkVerify' | 'zkVerifyCalcCtHash' | 'zkVerifyCalcCtHashesPacked' | 'zkVerifyPacked'): FunctionFragment;
|
|
2989
|
+
encodeFunctionData(functionFragment: 'exists', values?: undefined): string;
|
|
2990
|
+
encodeFunctionData(functionFragment: 'insertCtHash', values: [BigNumberish, BigNumberish]): string;
|
|
2991
|
+
encodeFunctionData(functionFragment: 'insertPackedCtHashes', values: [BigNumberish[], BigNumberish[]]): string;
|
|
2992
|
+
encodeFunctionData(functionFragment: 'zkVerify', values: [BigNumberish, BigNumberish, AddressLike, BigNumberish, BigNumberish]): string;
|
|
2993
|
+
encodeFunctionData(functionFragment: 'zkVerifyCalcCtHash', values: [BigNumberish, BigNumberish, AddressLike, BigNumberish, BigNumberish]): string;
|
|
2994
|
+
encodeFunctionData(functionFragment: 'zkVerifyCalcCtHashesPacked', values: [BigNumberish[], BigNumberish[], AddressLike, BigNumberish, BigNumberish]): string;
|
|
2995
|
+
encodeFunctionData(functionFragment: 'zkVerifyPacked', values: [BigNumberish[], BigNumberish[], AddressLike, BigNumberish, BigNumberish]): string;
|
|
2996
|
+
decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result;
|
|
2997
|
+
decodeFunctionResult(functionFragment: 'insertCtHash', data: BytesLike): Result;
|
|
2998
|
+
decodeFunctionResult(functionFragment: 'insertPackedCtHashes', data: BytesLike): Result;
|
|
2999
|
+
decodeFunctionResult(functionFragment: 'zkVerify', data: BytesLike): Result;
|
|
3000
|
+
decodeFunctionResult(functionFragment: 'zkVerifyCalcCtHash', data: BytesLike): Result;
|
|
3001
|
+
decodeFunctionResult(functionFragment: 'zkVerifyCalcCtHashesPacked', data: BytesLike): Result;
|
|
3002
|
+
decodeFunctionResult(functionFragment: 'zkVerifyPacked', data: BytesLike): Result;
|
|
3003
|
+
}
|
|
3004
|
+
interface MockZkVerifier extends BaseContract {
|
|
3005
|
+
connect(runner?: ContractRunner | null): MockZkVerifier;
|
|
3006
|
+
waitForDeployment(): Promise<this>;
|
|
3007
|
+
interface: MockZkVerifierInterface;
|
|
3008
|
+
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
3009
|
+
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
3010
|
+
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3011
|
+
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3012
|
+
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3013
|
+
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3014
|
+
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
|
3015
|
+
listeners(eventName?: string): Promise<Array<Listener>>;
|
|
3016
|
+
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
|
3017
|
+
exists: TypedContractMethod<[], [boolean], 'view'>;
|
|
3018
|
+
insertCtHash: TypedContractMethod<[ctHash: BigNumberish, value: BigNumberish], [void], 'nonpayable'>;
|
|
3019
|
+
insertPackedCtHashes: TypedContractMethod<[ctHashes: BigNumberish[], values: BigNumberish[]], [void], 'nonpayable'>;
|
|
3020
|
+
zkVerify: TypedContractMethod<[
|
|
3021
|
+
value: BigNumberish,
|
|
3022
|
+
utype: BigNumberish,
|
|
3023
|
+
user: AddressLike,
|
|
3024
|
+
securityZone: BigNumberish,
|
|
3025
|
+
arg4: BigNumberish
|
|
3026
|
+
], [
|
|
3027
|
+
EncryptedInputStructOutput
|
|
3028
|
+
], 'nonpayable'>;
|
|
3029
|
+
zkVerifyCalcCtHash: TypedContractMethod<[
|
|
3030
|
+
value: BigNumberish,
|
|
3031
|
+
utype: BigNumberish,
|
|
3032
|
+
user: AddressLike,
|
|
3033
|
+
securityZone: BigNumberish,
|
|
3034
|
+
arg4: BigNumberish
|
|
3035
|
+
], [
|
|
3036
|
+
bigint
|
|
3037
|
+
], 'view'>;
|
|
3038
|
+
zkVerifyCalcCtHashesPacked: TypedContractMethod<[
|
|
3039
|
+
values: BigNumberish[],
|
|
3040
|
+
utypes: BigNumberish[],
|
|
3041
|
+
user: AddressLike,
|
|
3042
|
+
securityZone: BigNumberish,
|
|
3043
|
+
chainId: BigNumberish
|
|
3044
|
+
], [
|
|
3045
|
+
bigint[]
|
|
3046
|
+
], 'view'>;
|
|
3047
|
+
zkVerifyPacked: TypedContractMethod<[
|
|
3048
|
+
values: BigNumberish[],
|
|
3049
|
+
utypes: BigNumberish[],
|
|
3050
|
+
user: AddressLike,
|
|
3051
|
+
securityZone: BigNumberish,
|
|
3052
|
+
chainId: BigNumberish
|
|
3053
|
+
], [
|
|
3054
|
+
EncryptedInputStructOutput[]
|
|
3055
|
+
], 'nonpayable'>;
|
|
3056
|
+
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
|
3057
|
+
getFunction(nameOrSignature: 'exists'): TypedContractMethod<[], [boolean], 'view'>;
|
|
3058
|
+
getFunction(nameOrSignature: 'insertCtHash'): TypedContractMethod<[ctHash: BigNumberish, value: BigNumberish], [void], 'nonpayable'>;
|
|
3059
|
+
getFunction(nameOrSignature: 'insertPackedCtHashes'): TypedContractMethod<[ctHashes: BigNumberish[], values: BigNumberish[]], [void], 'nonpayable'>;
|
|
3060
|
+
getFunction(nameOrSignature: 'zkVerify'): TypedContractMethod<[
|
|
3061
|
+
value: BigNumberish,
|
|
3062
|
+
utype: BigNumberish,
|
|
3063
|
+
user: AddressLike,
|
|
3064
|
+
securityZone: BigNumberish,
|
|
3065
|
+
arg4: BigNumberish
|
|
3066
|
+
], [
|
|
3067
|
+
EncryptedInputStructOutput
|
|
3068
|
+
], 'nonpayable'>;
|
|
3069
|
+
getFunction(nameOrSignature: 'zkVerifyCalcCtHash'): TypedContractMethod<[
|
|
3070
|
+
value: BigNumberish,
|
|
3071
|
+
utype: BigNumberish,
|
|
3072
|
+
user: AddressLike,
|
|
3073
|
+
securityZone: BigNumberish,
|
|
3074
|
+
arg4: BigNumberish
|
|
3075
|
+
], [
|
|
3076
|
+
bigint
|
|
3077
|
+
], 'view'>;
|
|
3078
|
+
getFunction(nameOrSignature: 'zkVerifyCalcCtHashesPacked'): TypedContractMethod<[
|
|
3079
|
+
values: BigNumberish[],
|
|
3080
|
+
utypes: BigNumberish[],
|
|
3081
|
+
user: AddressLike,
|
|
3082
|
+
securityZone: BigNumberish,
|
|
3083
|
+
chainId: BigNumberish
|
|
3084
|
+
], [
|
|
3085
|
+
bigint[]
|
|
3086
|
+
], 'view'>;
|
|
3087
|
+
getFunction(nameOrSignature: 'zkVerifyPacked'): TypedContractMethod<[
|
|
3088
|
+
values: BigNumberish[],
|
|
3089
|
+
utypes: BigNumberish[],
|
|
3090
|
+
user: AddressLike,
|
|
3091
|
+
securityZone: BigNumberish,
|
|
3092
|
+
chainId: BigNumberish
|
|
3093
|
+
], [
|
|
3094
|
+
EncryptedInputStructOutput[]
|
|
3095
|
+
], 'nonpayable'>;
|
|
3096
|
+
filters: {};
|
|
3097
|
+
}
|
|
3098
|
+
|
|
3099
|
+
type InEuint32Struct = {
|
|
3100
|
+
ctHash: BigNumberish;
|
|
3101
|
+
securityZone: BigNumberish;
|
|
3102
|
+
utype: BigNumberish;
|
|
3103
|
+
signature: BytesLike;
|
|
3104
|
+
};
|
|
3105
|
+
interface TestBedInterface extends Interface {
|
|
3106
|
+
getFunction(nameOrSignature: 'add' | 'decrypt' | 'eNumber' | 'exists' | 'getDecryptResult' | 'getDecryptResultSafe' | 'increment' | 'mul' | 'numberHash' | 'publishDecryptResult' | 'setNumber' | 'setNumberTrivial' | 'sub'): FunctionFragment;
|
|
3107
|
+
encodeFunctionData(functionFragment: 'add', values: [InEuint32Struct]): string;
|
|
3108
|
+
encodeFunctionData(functionFragment: 'decrypt', values?: undefined): string;
|
|
3109
|
+
encodeFunctionData(functionFragment: 'eNumber', values?: undefined): string;
|
|
3110
|
+
encodeFunctionData(functionFragment: 'exists', values?: undefined): string;
|
|
3111
|
+
encodeFunctionData(functionFragment: 'getDecryptResult', values: [BytesLike]): string;
|
|
3112
|
+
encodeFunctionData(functionFragment: 'getDecryptResultSafe', values: [BytesLike]): string;
|
|
3113
|
+
encodeFunctionData(functionFragment: 'increment', values?: undefined): string;
|
|
3114
|
+
encodeFunctionData(functionFragment: 'mul', values: [InEuint32Struct]): string;
|
|
3115
|
+
encodeFunctionData(functionFragment: 'numberHash', values?: undefined): string;
|
|
3116
|
+
encodeFunctionData(functionFragment: 'publishDecryptResult', values: [BytesLike, BigNumberish, BytesLike]): string;
|
|
3117
|
+
encodeFunctionData(functionFragment: 'setNumber', values: [InEuint32Struct]): string;
|
|
3118
|
+
encodeFunctionData(functionFragment: 'setNumberTrivial', values: [BigNumberish]): string;
|
|
3119
|
+
encodeFunctionData(functionFragment: 'sub', values: [InEuint32Struct]): string;
|
|
3120
|
+
decodeFunctionResult(functionFragment: 'add', data: BytesLike): Result;
|
|
3121
|
+
decodeFunctionResult(functionFragment: 'decrypt', data: BytesLike): Result;
|
|
3122
|
+
decodeFunctionResult(functionFragment: 'eNumber', data: BytesLike): Result;
|
|
3123
|
+
decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result;
|
|
3124
|
+
decodeFunctionResult(functionFragment: 'getDecryptResult', data: BytesLike): Result;
|
|
3125
|
+
decodeFunctionResult(functionFragment: 'getDecryptResultSafe', data: BytesLike): Result;
|
|
3126
|
+
decodeFunctionResult(functionFragment: 'increment', data: BytesLike): Result;
|
|
3127
|
+
decodeFunctionResult(functionFragment: 'mul', data: BytesLike): Result;
|
|
3128
|
+
decodeFunctionResult(functionFragment: 'numberHash', data: BytesLike): Result;
|
|
3129
|
+
decodeFunctionResult(functionFragment: 'publishDecryptResult', data: BytesLike): Result;
|
|
3130
|
+
decodeFunctionResult(functionFragment: 'setNumber', data: BytesLike): Result;
|
|
3131
|
+
decodeFunctionResult(functionFragment: 'setNumberTrivial', data: BytesLike): Result;
|
|
3132
|
+
decodeFunctionResult(functionFragment: 'sub', data: BytesLike): Result;
|
|
3133
|
+
}
|
|
3134
|
+
interface TestBed extends BaseContract {
|
|
3135
|
+
connect(runner?: ContractRunner | null): TestBed;
|
|
3136
|
+
waitForDeployment(): Promise<this>;
|
|
3137
|
+
interface: TestBedInterface;
|
|
3138
|
+
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
3139
|
+
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
|
3140
|
+
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3141
|
+
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3142
|
+
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3143
|
+
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
|
3144
|
+
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
|
3145
|
+
listeners(eventName?: string): Promise<Array<Listener>>;
|
|
3146
|
+
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
|
3147
|
+
add: TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3148
|
+
decrypt: TypedContractMethod<[], [void], 'nonpayable'>;
|
|
3149
|
+
eNumber: TypedContractMethod<[], [string], 'view'>;
|
|
3150
|
+
exists: TypedContractMethod<[], [boolean], 'view'>;
|
|
3151
|
+
getDecryptResult: TypedContractMethod<[input1: BytesLike], [bigint], 'view'>;
|
|
3152
|
+
getDecryptResultSafe: TypedContractMethod<[
|
|
3153
|
+
input1: BytesLike
|
|
3154
|
+
], [
|
|
3155
|
+
[bigint, boolean] & {
|
|
3156
|
+
value: bigint;
|
|
3157
|
+
decrypted: boolean;
|
|
3158
|
+
}
|
|
3159
|
+
], 'view'>;
|
|
3160
|
+
increment: TypedContractMethod<[], [void], 'nonpayable'>;
|
|
3161
|
+
mul: TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3162
|
+
numberHash: TypedContractMethod<[], [string], 'view'>;
|
|
3163
|
+
publishDecryptResult: TypedContractMethod<[
|
|
3164
|
+
input: BytesLike,
|
|
3165
|
+
result: BigNumberish,
|
|
3166
|
+
signature: BytesLike
|
|
3167
|
+
], [
|
|
3168
|
+
void
|
|
3169
|
+
], 'nonpayable'>;
|
|
3170
|
+
setNumber: TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3171
|
+
setNumberTrivial: TypedContractMethod<[inNumber: BigNumberish], [void], 'nonpayable'>;
|
|
3172
|
+
sub: TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3173
|
+
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
|
3174
|
+
getFunction(nameOrSignature: 'add'): TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3175
|
+
getFunction(nameOrSignature: 'decrypt'): TypedContractMethod<[], [void], 'nonpayable'>;
|
|
3176
|
+
getFunction(nameOrSignature: 'eNumber'): TypedContractMethod<[], [string], 'view'>;
|
|
3177
|
+
getFunction(nameOrSignature: 'exists'): TypedContractMethod<[], [boolean], 'view'>;
|
|
3178
|
+
getFunction(nameOrSignature: 'getDecryptResult'): TypedContractMethod<[input1: BytesLike], [bigint], 'view'>;
|
|
3179
|
+
getFunction(nameOrSignature: 'getDecryptResultSafe'): TypedContractMethod<[input1: BytesLike], [[bigint, boolean] & {
|
|
3180
|
+
value: bigint;
|
|
3181
|
+
decrypted: boolean;
|
|
3182
|
+
}], 'view'>;
|
|
3183
|
+
getFunction(nameOrSignature: 'increment'): TypedContractMethod<[], [void], 'nonpayable'>;
|
|
3184
|
+
getFunction(nameOrSignature: 'mul'): TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3185
|
+
getFunction(nameOrSignature: 'numberHash'): TypedContractMethod<[], [string], 'view'>;
|
|
3186
|
+
getFunction(nameOrSignature: 'publishDecryptResult'): TypedContractMethod<[input: BytesLike, result: BigNumberish, signature: BytesLike], [void], 'nonpayable'>;
|
|
3187
|
+
getFunction(nameOrSignature: 'setNumber'): TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3188
|
+
getFunction(nameOrSignature: 'setNumberTrivial'): TypedContractMethod<[inNumber: BigNumberish], [void], 'nonpayable'>;
|
|
3189
|
+
getFunction(nameOrSignature: 'sub'): TypedContractMethod<[inNumber: InEuint32Struct], [void], 'nonpayable'>;
|
|
3190
|
+
filters: {};
|
|
3191
|
+
}
|
|
3192
|
+
|
|
3193
|
+
export { type MockACL, MockACLArtifact, type MockArtifact, type MockTaskManager, MockTaskManagerArtifact, type MockThresholdNetwork, MockThresholdNetworkArtifact, type MockZkVerifier, MockZkVerifierArtifact, type TestBed, TestBedArtifact };
|