@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/src/MockACL.ts ADDED
@@ -0,0 +1,620 @@
1
+ // This file is auto-generated by build-artifacts.ts
2
+ import { type MockArtifact } from './types';
3
+
4
+ export const MockACLArtifact = {
5
+ contractName: 'MockACL',
6
+ isFixed: false,
7
+ abi: [
8
+ {
9
+ type: 'constructor',
10
+ inputs: [],
11
+ stateMutability: 'nonpayable',
12
+ },
13
+ {
14
+ type: 'function',
15
+ name: 'TASK_MANAGER_ADDRESS_',
16
+ inputs: [],
17
+ outputs: [
18
+ {
19
+ name: '',
20
+ type: 'address',
21
+ internalType: 'address',
22
+ },
23
+ ],
24
+ stateMutability: 'view',
25
+ },
26
+ {
27
+ type: 'function',
28
+ name: 'allow',
29
+ inputs: [
30
+ {
31
+ name: 'handle',
32
+ type: 'uint256',
33
+ internalType: 'uint256',
34
+ },
35
+ {
36
+ name: 'account',
37
+ type: 'address',
38
+ internalType: 'address',
39
+ },
40
+ {
41
+ name: 'requester',
42
+ type: 'address',
43
+ internalType: 'address',
44
+ },
45
+ ],
46
+ outputs: [],
47
+ stateMutability: 'nonpayable',
48
+ },
49
+ {
50
+ type: 'function',
51
+ name: 'allowForDecryption',
52
+ inputs: [
53
+ {
54
+ name: 'handlesList',
55
+ type: 'uint256[]',
56
+ internalType: 'uint256[]',
57
+ },
58
+ {
59
+ name: 'requester',
60
+ type: 'address',
61
+ internalType: 'address',
62
+ },
63
+ ],
64
+ outputs: [],
65
+ stateMutability: 'nonpayable',
66
+ },
67
+ {
68
+ type: 'function',
69
+ name: 'allowGlobal',
70
+ inputs: [
71
+ {
72
+ name: 'handle',
73
+ type: 'uint256',
74
+ internalType: 'uint256',
75
+ },
76
+ {
77
+ name: 'requester',
78
+ type: 'address',
79
+ internalType: 'address',
80
+ },
81
+ ],
82
+ outputs: [],
83
+ stateMutability: 'nonpayable',
84
+ },
85
+ {
86
+ type: 'function',
87
+ name: 'allowTransient',
88
+ inputs: [
89
+ {
90
+ name: 'handle',
91
+ type: 'uint256',
92
+ internalType: 'uint256',
93
+ },
94
+ {
95
+ name: 'account',
96
+ type: 'address',
97
+ internalType: 'address',
98
+ },
99
+ {
100
+ name: 'requester',
101
+ type: 'address',
102
+ internalType: 'address',
103
+ },
104
+ ],
105
+ outputs: [],
106
+ stateMutability: 'nonpayable',
107
+ },
108
+ {
109
+ type: 'function',
110
+ name: 'allowedOnBehalf',
111
+ inputs: [
112
+ {
113
+ name: 'delegatee',
114
+ type: 'address',
115
+ internalType: 'address',
116
+ },
117
+ {
118
+ name: 'handle',
119
+ type: 'uint256',
120
+ internalType: 'uint256',
121
+ },
122
+ {
123
+ name: 'contractAddress',
124
+ type: 'address',
125
+ internalType: 'address',
126
+ },
127
+ {
128
+ name: 'account',
129
+ type: 'address',
130
+ internalType: 'address',
131
+ },
132
+ ],
133
+ outputs: [
134
+ {
135
+ name: '',
136
+ type: 'bool',
137
+ internalType: 'bool',
138
+ },
139
+ ],
140
+ stateMutability: 'view',
141
+ },
142
+ {
143
+ type: 'function',
144
+ name: 'allowedTransient',
145
+ inputs: [
146
+ {
147
+ name: 'handle',
148
+ type: 'uint256',
149
+ internalType: 'uint256',
150
+ },
151
+ {
152
+ name: 'account',
153
+ type: 'address',
154
+ internalType: 'address',
155
+ },
156
+ ],
157
+ outputs: [
158
+ {
159
+ name: '',
160
+ type: 'bool',
161
+ internalType: 'bool',
162
+ },
163
+ ],
164
+ stateMutability: 'view',
165
+ },
166
+ {
167
+ type: 'function',
168
+ name: 'checkPermitValidity',
169
+ inputs: [
170
+ {
171
+ name: 'permission',
172
+ type: 'tuple',
173
+ internalType: 'struct Permission',
174
+ components: [
175
+ {
176
+ name: 'issuer',
177
+ type: 'address',
178
+ internalType: 'address',
179
+ },
180
+ {
181
+ name: 'expiration',
182
+ type: 'uint64',
183
+ internalType: 'uint64',
184
+ },
185
+ {
186
+ name: 'recipient',
187
+ type: 'address',
188
+ internalType: 'address',
189
+ },
190
+ {
191
+ name: 'validatorId',
192
+ type: 'uint256',
193
+ internalType: 'uint256',
194
+ },
195
+ {
196
+ name: 'validatorContract',
197
+ type: 'address',
198
+ internalType: 'address',
199
+ },
200
+ {
201
+ name: 'sealingKey',
202
+ type: 'bytes32',
203
+ internalType: 'bytes32',
204
+ },
205
+ {
206
+ name: 'issuerSignature',
207
+ type: 'bytes',
208
+ internalType: 'bytes',
209
+ },
210
+ {
211
+ name: 'recipientSignature',
212
+ type: 'bytes',
213
+ internalType: 'bytes',
214
+ },
215
+ ],
216
+ },
217
+ ],
218
+ outputs: [
219
+ {
220
+ name: '',
221
+ type: 'bool',
222
+ internalType: 'bool',
223
+ },
224
+ ],
225
+ stateMutability: 'view',
226
+ },
227
+ {
228
+ type: 'function',
229
+ name: 'cleanTransientStorage',
230
+ inputs: [],
231
+ outputs: [],
232
+ stateMutability: 'nonpayable',
233
+ },
234
+ {
235
+ type: 'function',
236
+ name: 'delegateAccount',
237
+ inputs: [
238
+ {
239
+ name: 'delegatee',
240
+ type: 'address',
241
+ internalType: 'address',
242
+ },
243
+ {
244
+ name: 'delegateeContract',
245
+ type: 'address',
246
+ internalType: 'address',
247
+ },
248
+ ],
249
+ outputs: [],
250
+ stateMutability: 'nonpayable',
251
+ },
252
+ {
253
+ type: 'function',
254
+ name: 'eip712Domain',
255
+ inputs: [],
256
+ outputs: [
257
+ {
258
+ name: 'fields',
259
+ type: 'bytes1',
260
+ internalType: 'bytes1',
261
+ },
262
+ {
263
+ name: 'name',
264
+ type: 'string',
265
+ internalType: 'string',
266
+ },
267
+ {
268
+ name: 'version',
269
+ type: 'string',
270
+ internalType: 'string',
271
+ },
272
+ {
273
+ name: 'chainId',
274
+ type: 'uint256',
275
+ internalType: 'uint256',
276
+ },
277
+ {
278
+ name: 'verifyingContract',
279
+ type: 'address',
280
+ internalType: 'address',
281
+ },
282
+ {
283
+ name: 'salt',
284
+ type: 'bytes32',
285
+ internalType: 'bytes32',
286
+ },
287
+ {
288
+ name: 'extensions',
289
+ type: 'uint256[]',
290
+ internalType: 'uint256[]',
291
+ },
292
+ ],
293
+ stateMutability: 'view',
294
+ },
295
+ {
296
+ type: 'function',
297
+ name: 'exists',
298
+ inputs: [],
299
+ outputs: [
300
+ {
301
+ name: '',
302
+ type: 'bool',
303
+ internalType: 'bool',
304
+ },
305
+ ],
306
+ stateMutability: 'pure',
307
+ },
308
+ {
309
+ type: 'function',
310
+ name: 'getTaskManagerAddress',
311
+ inputs: [],
312
+ outputs: [
313
+ {
314
+ name: '',
315
+ type: 'address',
316
+ internalType: 'address',
317
+ },
318
+ ],
319
+ stateMutability: 'view',
320
+ },
321
+ {
322
+ type: 'function',
323
+ name: 'getVersion',
324
+ inputs: [],
325
+ outputs: [
326
+ {
327
+ name: '',
328
+ type: 'string',
329
+ internalType: 'string',
330
+ },
331
+ ],
332
+ stateMutability: 'pure',
333
+ },
334
+ {
335
+ type: 'function',
336
+ name: 'globalAllowed',
337
+ inputs: [
338
+ {
339
+ name: 'handle',
340
+ type: 'uint256',
341
+ internalType: 'uint256',
342
+ },
343
+ ],
344
+ outputs: [
345
+ {
346
+ name: '',
347
+ type: 'bool',
348
+ internalType: 'bool',
349
+ },
350
+ ],
351
+ stateMutability: 'view',
352
+ },
353
+ {
354
+ type: 'function',
355
+ name: 'hashTypedDataV4',
356
+ inputs: [
357
+ {
358
+ name: 'structHash',
359
+ type: 'bytes32',
360
+ internalType: 'bytes32',
361
+ },
362
+ ],
363
+ outputs: [
364
+ {
365
+ name: '',
366
+ type: 'bytes32',
367
+ internalType: 'bytes32',
368
+ },
369
+ ],
370
+ stateMutability: 'view',
371
+ },
372
+ {
373
+ type: 'function',
374
+ name: 'isAllowed',
375
+ inputs: [
376
+ {
377
+ name: 'handle',
378
+ type: 'uint256',
379
+ internalType: 'uint256',
380
+ },
381
+ {
382
+ name: 'account',
383
+ type: 'address',
384
+ internalType: 'address',
385
+ },
386
+ ],
387
+ outputs: [
388
+ {
389
+ name: '',
390
+ type: 'bool',
391
+ internalType: 'bool',
392
+ },
393
+ ],
394
+ stateMutability: 'view',
395
+ },
396
+ {
397
+ type: 'function',
398
+ name: 'isAllowedForDecryption',
399
+ inputs: [
400
+ {
401
+ name: 'handle',
402
+ type: 'uint256',
403
+ internalType: 'uint256',
404
+ },
405
+ ],
406
+ outputs: [
407
+ {
408
+ name: '',
409
+ type: 'bool',
410
+ internalType: 'bool',
411
+ },
412
+ ],
413
+ stateMutability: 'view',
414
+ },
415
+ {
416
+ type: 'function',
417
+ name: 'isAllowedWithPermission',
418
+ inputs: [
419
+ {
420
+ name: 'permission',
421
+ type: 'tuple',
422
+ internalType: 'struct Permission',
423
+ components: [
424
+ {
425
+ name: 'issuer',
426
+ type: 'address',
427
+ internalType: 'address',
428
+ },
429
+ {
430
+ name: 'expiration',
431
+ type: 'uint64',
432
+ internalType: 'uint64',
433
+ },
434
+ {
435
+ name: 'recipient',
436
+ type: 'address',
437
+ internalType: 'address',
438
+ },
439
+ {
440
+ name: 'validatorId',
441
+ type: 'uint256',
442
+ internalType: 'uint256',
443
+ },
444
+ {
445
+ name: 'validatorContract',
446
+ type: 'address',
447
+ internalType: 'address',
448
+ },
449
+ {
450
+ name: 'sealingKey',
451
+ type: 'bytes32',
452
+ internalType: 'bytes32',
453
+ },
454
+ {
455
+ name: 'issuerSignature',
456
+ type: 'bytes',
457
+ internalType: 'bytes',
458
+ },
459
+ {
460
+ name: 'recipientSignature',
461
+ type: 'bytes',
462
+ internalType: 'bytes',
463
+ },
464
+ ],
465
+ },
466
+ {
467
+ name: 'handle',
468
+ type: 'uint256',
469
+ internalType: 'uint256',
470
+ },
471
+ ],
472
+ outputs: [
473
+ {
474
+ name: '',
475
+ type: 'bool',
476
+ internalType: 'bool',
477
+ },
478
+ ],
479
+ stateMutability: 'view',
480
+ },
481
+ {
482
+ type: 'function',
483
+ name: 'persistAllowed',
484
+ inputs: [
485
+ {
486
+ name: 'handle',
487
+ type: 'uint256',
488
+ internalType: 'uint256',
489
+ },
490
+ {
491
+ name: 'account',
492
+ type: 'address',
493
+ internalType: 'address',
494
+ },
495
+ ],
496
+ outputs: [
497
+ {
498
+ name: '',
499
+ type: 'bool',
500
+ internalType: 'bool',
501
+ },
502
+ ],
503
+ stateMutability: 'view',
504
+ },
505
+ {
506
+ type: 'event',
507
+ name: 'AllowedForDecryption',
508
+ inputs: [
509
+ {
510
+ name: 'handlesList',
511
+ type: 'uint256[]',
512
+ indexed: false,
513
+ internalType: 'uint256[]',
514
+ },
515
+ ],
516
+ anonymous: false,
517
+ },
518
+ {
519
+ type: 'event',
520
+ name: 'EIP712DomainChanged',
521
+ inputs: [],
522
+ anonymous: false,
523
+ },
524
+ {
525
+ type: 'event',
526
+ name: 'NewDelegation',
527
+ inputs: [
528
+ {
529
+ name: 'sender',
530
+ type: 'address',
531
+ indexed: true,
532
+ internalType: 'address',
533
+ },
534
+ {
535
+ name: 'delegatee',
536
+ type: 'address',
537
+ indexed: true,
538
+ internalType: 'address',
539
+ },
540
+ {
541
+ name: 'contractAddress',
542
+ type: 'address',
543
+ indexed: true,
544
+ internalType: 'address',
545
+ },
546
+ ],
547
+ anonymous: false,
548
+ },
549
+ {
550
+ type: 'error',
551
+ name: 'AlreadyDelegated',
552
+ inputs: [],
553
+ },
554
+ {
555
+ type: 'error',
556
+ name: 'DirectAllowForbidden',
557
+ inputs: [
558
+ {
559
+ name: 'sender',
560
+ type: 'address',
561
+ internalType: 'address',
562
+ },
563
+ ],
564
+ },
565
+ {
566
+ type: 'error',
567
+ name: 'InvalidShortString',
568
+ inputs: [],
569
+ },
570
+ {
571
+ type: 'error',
572
+ name: 'PermissionInvalid_Disabled',
573
+ inputs: [],
574
+ },
575
+ {
576
+ type: 'error',
577
+ name: 'PermissionInvalid_Expired',
578
+ inputs: [],
579
+ },
580
+ {
581
+ type: 'error',
582
+ name: 'PermissionInvalid_IssuerSignature',
583
+ inputs: [],
584
+ },
585
+ {
586
+ type: 'error',
587
+ name: 'PermissionInvalid_RecipientSignature',
588
+ inputs: [],
589
+ },
590
+ {
591
+ type: 'error',
592
+ name: 'SenderCannotBeDelegateeAddress',
593
+ inputs: [],
594
+ },
595
+ {
596
+ type: 'error',
597
+ name: 'SenderNotAllowed',
598
+ inputs: [
599
+ {
600
+ name: 'sender',
601
+ type: 'address',
602
+ internalType: 'address',
603
+ },
604
+ ],
605
+ },
606
+ {
607
+ type: 'error',
608
+ name: 'StringTooLong',
609
+ inputs: [
610
+ {
611
+ name: 'str',
612
+ type: 'string',
613
+ internalType: 'string',
614
+ },
615
+ ],
616
+ },
617
+ ],
618
+ bytecode:
619
+ '0x610160604052348015610010575f5ffd5b506040518060400160405280600381526020017f41434c00000000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506100905f8361012b60201b90919060201c565b61012081815250506100ac60018261012b60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506100e961017860201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505061072d565b5f60208351101561014c57610145836101d260201b60201c565b9050610172565b8261015c8361023760201b60201c565b5f01908161016a919061048e565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016101b79594939291906105c3565b60405160208183030381529060405280519060200120905090565b5f5f829050601f8151111561021e57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401610215919061067a565b60405180910390fd5b80518161022a906106c7565b5f1c175f1b915050919050565b5f819050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102bb57607f821691505b6020821081036102ce576102cd610277565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102f5565b61033a86836102f5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61037e61037961037484610352565b61035b565b610352565b9050919050565b5f819050919050565b61039783610364565b6103ab6103a382610385565b848454610301565b825550505050565b5f5f905090565b6103c26103b3565b6103cd81848461038e565b505050565b5f5b828110156103f3576103e85f8284016103ba565b6001810190506103d4565b505050565b601f821115610446578282111561044557610412816102d4565b61041b836102e6565b610424856102e6565b6020861015610431575f90505b808301610440828403826103d2565b505050505b5b505050565b5f82821c905092915050565b5f6104665f198460080261044b565b1980831691505092915050565b5f61047e8383610457565b9150826002028217905092915050565b61049782610240565b67ffffffffffffffff8111156104b0576104af61024a565b5b6104ba82546102a4565b6104c58282856103f8565b5f60209050601f8311600181146104f6575f84156104e4578287015190505b6104ee8582610473565b865550610555565b601f198416610504866102d4565b5f5b8281101561052b57848901518255600182019150602085019450602081019050610506565b868310156105485784890151610544601f891682610457565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b61056f8161055d565b82525050565b61057e81610352565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105ad82610584565b9050919050565b6105bd816105a3565b82525050565b5f60a0820190506105d65f830188610566565b6105e36020830187610566565b6105f06040830186610566565b6105fd6060830185610575565b61060a60808301846105b4565b9695505050505050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61064c82610240565b6106568185610614565b9350610666818560208601610624565b61066f81610632565b840191505092915050565b5f6020820190508181035f8301526106928184610642565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f6106be825161055d565b80915050919050565b5f6106d18261069a565b826106db846106a4565b90506106e6816106b3565b92506020821015610726576107217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026102f5565b831692505b5050919050565b60805160a05160c05160e05161010051610120516101405161309261077e5f395f6117a301525f61176801525f611ec701525f611ea601525f611a9001525f611ae601525f611b0f01526130925ff3fe608060405234801561000f575f5ffd5b506004361061012a575f3560e01c806365ce8df7116100ab57806394d9184c1161006f57806394d9184c14610334578063a8b7010014610364578063ae79f04a14610380578063cbf4f703146103b0578063ccd9a7cd146103e05761012a565b806365ce8df71461028a57806379a3a7fb146102a85780637a9a598e146102c4578063846cd433146102f457806384b0196e146103105761012a565b8063484de822116100f2578063484de822146101c05780634980f288146101dc57806351b8fd201461020c5780635faa299a1461022a5780636330a7091461025a5761012a565b80630d8e6e2c1461012e578063267c4ae41461014c57806335334c231461016a57806337e6b44f146101745780633c3839ba146101a4575b5f5ffd5b610136610410565b604051610143919061212e565b60405180910390f35b61015461048b565b6040516101619190612168565b60405180910390f35b610172610493565b005b61018e6004803603810190610189919061221f565b610544565b60405161019b9190612168565b60405180910390f35b6101be60048036038101906101b9919061239d565b6105b4565b005b6101da60048036038101906101d591906123f7565b610735565b005b6101f660048036038101906101f1919061247a565b610896565b60405161020391906124b4565b60405180910390f35b6102146108a7565b60405161022191906124dc565b60405180910390f35b610244600480360381019061023f919061221f565b6108bf565b6040516102519190612168565b60405180910390f35b610274600480360381019061026f91906124f5565b6108f3565b6040516102819190612168565b60405180910390f35b610292610927565b60405161029f91906124dc565b60405180910390f35b6102c260048036038101906102bd91906123f7565b610942565b005b6102de60048036038101906102d9919061221f565b610a88565b6040516102eb9190612168565b60405180910390f35b61030e6004803603810190610309919061221f565b610ac5565b005b610318610bce565b60405161032b9796959493929190612620565b60405180910390f35b61034e600480360381019061034991906124f5565b610c73565b60405161035b9190612168565b60405180910390f35b61037e600480360381019061037991906126a2565b610ca6565b005b61039a600480360381019061039591906128d4565b610fd6565b6040516103a79190612168565b60405180910390f35b6103ca60048036038101906103c5919061292e565b61122d565b6040516103d79190612168565b60405180910390f35b6103fa60048036038101906103f59190612975565b611478565b6040516104079190612168565b60405180910390f35b60606040518060400160405280600381526020017f41434c00000000000000000000000000000000000000000000000000000000008152506104515f611617565b61045b6001611617565b6104645f611617565b6040516020016104779493929190612aa7565b604051602081830303815290604052905090565b5f6001905090565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051757336040517f3809a24300000000000000000000000000000000000000000000000000000000815260040161050e91906124dc565b60405180910390fd5b5f5c5f5f5d6001810160015b8181101561053f57805c5f825d5f815d50600181019050610523565b505050565b5f5f61054e6116e1565b9050806001015f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1691505092915050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461063857336040517f3809a24300000000000000000000000000000000000000000000000000000000815260040161062f91906124dc565b60405180910390fd5b5f825190505f6106466116e1565b90505f5f90505b828110156106f7575f85828151811061066957610668612b05565b5b6020026020010151905061067d81866108bf565b6106be57846040517fd0d259760000000000000000000000000000000000000000000000000000000081526004016106b591906124dc565b60405180910390fd5b6001836002015f8381526020019081526020015f205f6101000a81548160ff02191690831515021790555050808060010191505061064d565b507f2fd616621b8415a2efb27b224024340ac767797553ce6fdf4c1adefd160504c6846040516107279190612b32565b60405180910390a150505050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b957336040517f3809a2430000000000000000000000000000000000000000000000000000000081526004016107b091906124dc565b60405180910390fd5b6107c383826108bf565b158015610810575073ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1561085257806040517fd0d2597600000000000000000000000000000000000000000000000000000000815260040161084991906124dc565b60405180910390fd5b5f8383604051602001610866929190612bb7565b6040516020818303038152906040528051906020012090506001815d5f5c6001810182815d805f5d505050505050565b5f6108a082611747565b9050919050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d981565b5f6108ca8383610a88565b806108db57506108da8383610544565b5b806108eb57506108ea83610c73565b5b905092915050565b5f5f6108fd6116e1565b9050806002015f8481526020019081526020015f205f9054906101000a900460ff16915050919050565b5f73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d9905090565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109c657336040517f3809a2430000000000000000000000000000000000000000000000000000000081526004016109bd91906124dc565b60405180910390fd5b6109d083826108bf565b610a1157806040517fd0d25976000000000000000000000000000000000000000000000000000000008152600401610a0891906124dc565b60405180910390fd5b5f610a1a6116e1565b90506001816001015f8681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050505050565b5f5f5f8484604051602001610a9e929190612bb7565b604051602081830303815290604052805190602001209050805c9150819250505092915050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4957336040517f3809a243000000000000000000000000000000000000000000000000000000008152600401610b4091906124dc565b60405180910390fd5b610b5382826108bf565b610b9457806040517fd0d25976000000000000000000000000000000000000000000000000000000008152600401610b8b91906124dc565b60405180910390fd5b5f610b9d6116e1565b90506001815f015f8581526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f6060805f5f5f6060610bdf611760565b610be761179a565b46305f5f1b5f67ffffffffffffffff811115610c0657610c05612261565b5b604051908082528060200260200182016040528015610c345781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f5f610c7d6116e1565b9050805f015f8481526020019081526020015f205f9054906101000a900460ff16915050919050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d2a57336040517f3809a243000000000000000000000000000000000000000000000000000000008152600401610d2191906124dc565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d8f576040517f30dc920300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610d986116e1565b9050806003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610e93576040517fd186046800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff03b7c0d4879b0bcbbf440794871f139c96fd13a145a8172b33b9cab5fa2830a60405160405180910390a4505050565b5f8242816020015167ffffffffffffffff161015611020576040517fed0764a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611042815f0151611038611033846117d5565b611747565b8360c0015161182e565b611078576040517f4c40eccb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff16141580156110d857506110d681604001516110cc6110c7846118da565b611747565b8360e0015161182e565b155b1561110f576040517f8e143bf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81606001511415801561115357505f73ffffffffffffffffffffffffffffffffffffffff16816080015173ffffffffffffffffffffffffffffffffffffffff1614155b80156111e05750806080015173ffffffffffffffffffffffffffffffffffffffff1663b63391e8825f015183606001516040518363ffffffff1660e01b81526004016111a0929190612be2565b602060405180830381865afa1580156111bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111df9190612c33565b5b15611217576040517fcbd3a96600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61122483855f01516108bf565b91505092915050565b5f8142816020015167ffffffffffffffff161015611277576040517fed0764a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611299815f015161128f61128a846117d5565b611747565b8360c0015161182e565b6112cf576040517f4c40eccb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff161415801561132f575061132d816040015161132361131e846118da565b611747565b8360e0015161182e565b155b15611366576040517f8e143bf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8160600151141580156113aa57505f73ffffffffffffffffffffffffffffffffffffffff16816080015173ffffffffffffffffffffffffffffffffffffffff1614155b80156114375750806080015173ffffffffffffffffffffffffffffffffffffffff1663b63391e8825f015183606001516040518363ffffffff1660e01b81526004016113f7929190612be2565b602060405180830381865afa158015611412573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114369190612c33565b5b1561146e576040517fcbd3a96600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001915050919050565b5f5f6114826116e1565b9050806001015f8681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156115425750806001015f8681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561160c5750806003015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b915050949350505050565b60605f60016116258461193c565b0190505f8167ffffffffffffffff81111561164357611642612261565b5b6040519080825280601f01601f1916602001820160405280156116755781602001600182028036833780820191505090505b5090505f82602083010190505b6001156116d6578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816116cb576116ca612c5e565b5b0494505f8503611682575b819350505050919050565b5f5f60ff5f1b1960017fc4eb438ffad04c606bb4f9c3576c0f142d5dc3782731029ea1ab95b6483220115f1c6117179190612cb8565b6040516020016117279190612ceb565b604051602081830303815290604052805190602001201690508091505090565b5f611759611753611a8d565b83611b43565b9050919050565b60606117955f7f0000000000000000000000000000000000000000000000000000000000000000611b8390919063ffffffff16565b905090565b60606117d060017f0000000000000000000000000000000000000000000000000000000000000000611b8390919063ffffffff16565b905090565b5f5f73ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff160361181d5761181682611c30565b9050611829565b61182682611ca2565b90505b919050565b5f5f8473ffffffffffffffffffffffffffffffffffffffff163b036118c5575f5f6118598585611d0e565b50915091505f600381111561187157611870612d04565b5b81600381111561188457611883612d04565b5b1480156118bc57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b925050506118d3565b6118d0848484611d63565b90505b9392505050565b5f7f82af07a6c9eb6bb31a0c86f7f5cad0039589750ad5b4b925ed5741f7ad4e8d4b8260a001518360c001518051906020012060405160200161191f93929190612d31565b604051602081830303815290604052805190602001209050919050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611998577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161198e5761198d612c5e565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106119d5576d04ee2d6d415b85acef810000000083816119cb576119ca612c5e565b5b0492506020810190505b662386f26fc100008310611a0457662386f26fc1000083816119fa576119f9612c5e565b5b0492506010810190505b6305f5e1008310611a2d576305f5e1008381611a2357611a22612c5e565b5b0492506008810190505b6127108310611a52576127108381611a4857611a47612c5e565b5b0492506004810190505b60648310611a755760648381611a6b57611a6a612c5e565b5b0492506002810190505b600a8310611a84576001810190505b80915050919050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611b0857507f000000000000000000000000000000000000000000000000000000000000000046145b15611b35577f00000000000000000000000000000000000000000000000000000000000000009050611b40565b611b3d611e82565b90505b90565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b606060ff5f1b8314611b9f57611b9883611f17565b9050611c2a565b818054611bab90612d93565b80601f0160208091040260200160405190810160405280929190818152602001828054611bd790612d93565b8015611c225780601f10611bf957610100808354040283529160200191611c22565b820191905f5260205f20905b815481529060010190602001808311611c0557829003601f168201915b505050505090505b92915050565b5f7f0ce0d938c38f948b8f9cf16098cd15ec62de132c8d422719ad270c5e2a101102825f015183602001518460400151856060015186608001518760a00151604051602001611c859796959493929190612dd2565b604051602081830303815290604052805190602001209050919050565b5f7f8549e986c64faf9b741179c61561f9d39f337cf9739f86178d84dabc6ca4cad5825f01518360200151846040015185606001518660800151604051602001611cf196959493929190612e3f565b604051602081830303815290604052805190602001209050919050565b5f5f5f6041845103611d4e575f5f5f602087015192506040870151915060608701515f1a9050611d4088828585611f89565b955095509550505050611d5c565b5f600285515f1b9250925092505b9250925092565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff168585604051602401611d90929190612ef0565b604051602081830303815290604052631626ba7e60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611de29190612f58565b5f60405180830381855afa9150503d805f8114611e1a576040519150601f19603f3d011682016040523d82523d5f602084013e611e1f565b606091505b5091509150818015611e3357506020815110155b8015611e775750631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681806020019051810190611e759190612f82565b145b925050509392505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611efc959493929190612fad565b60405160208183030381529060405280519060200120905090565b60605f611f2383612070565b90505f602067ffffffffffffffff811115611f4157611f40612261565b5b6040519080825280601f01601f191660200182016040528015611f735781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611fc5575f600385925092509250612066565b5f6001888888886040515f8152602001604052604051611fe89493929190613019565b6020604051602081039080840390855afa158015612008573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612059575f60015f5f1b93509350935050612066565b805f5f5f1b935093509350505b9450945094915050565b5f5f60ff835f1c169050601f8111156120b5576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612100826120be565b61210a81856120c8565b935061211a8185602086016120d8565b612123816120e6565b840191505092915050565b5f6020820190508181035f83015261214681846120f6565b905092915050565b5f8115159050919050565b6121628161214e565b82525050565b5f60208201905061217b5f830184612159565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6121a481612192565b81146121ae575f5ffd5b50565b5f813590506121bf8161219b565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121ee826121c5565b9050919050565b6121fe816121e4565b8114612208575f5ffd5b50565b5f81359050612219816121f5565b92915050565b5f5f604083850312156122355761223461218a565b5b5f612242858286016121b1565b92505060206122538582860161220b565b9150509250929050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612297826120e6565b810181811067ffffffffffffffff821117156122b6576122b5612261565b5b80604052505050565b5f6122c8612181565b90506122d4828261228e565b919050565b5f67ffffffffffffffff8211156122f3576122f2612261565b5b602082029050602081019050919050565b5f5ffd5b5f61231a612315846122d9565b6122bf565b9050808382526020820190506020840283018581111561233d5761233c612304565b5b835b81811015612366578061235288826121b1565b84526020840193505060208101905061233f565b5050509392505050565b5f82601f8301126123845761238361225d565b5b8135612394848260208601612308565b91505092915050565b5f5f604083850312156123b3576123b261218a565b5b5f83013567ffffffffffffffff8111156123d0576123cf61218e565b5b6123dc85828601612370565b92505060206123ed8582860161220b565b9150509250929050565b5f5f5f6060848603121561240e5761240d61218a565b5b5f61241b868287016121b1565b935050602061242c8682870161220b565b925050604061243d8682870161220b565b9150509250925092565b5f819050919050565b61245981612447565b8114612463575f5ffd5b50565b5f8135905061247481612450565b92915050565b5f6020828403121561248f5761248e61218a565b5b5f61249c84828501612466565b91505092915050565b6124ae81612447565b82525050565b5f6020820190506124c75f8301846124a5565b92915050565b6124d6816121e4565b82525050565b5f6020820190506124ef5f8301846124cd565b92915050565b5f6020828403121561250a5761250961218a565b5b5f612517848285016121b1565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61255481612520565b82525050565b61256381612192565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61259b81612192565b82525050565b5f6125ac8383612592565b60208301905092915050565b5f602082019050919050565b5f6125ce82612569565b6125d88185612573565b93506125e383612583565b805f5b838110156126135781516125fa88826125a1565b9750612605836125b8565b9250506001810190506125e6565b5085935050505092915050565b5f60e0820190506126335f83018a61254b565b818103602083015261264581896120f6565b9050818103604083015261265981886120f6565b9050612668606083018761255a565b61267560808301866124cd565b61268260a08301856124a5565b81810360c083015261269481846125c4565b905098975050505050505050565b5f5f604083850312156126b8576126b761218a565b5b5f6126c58582860161220b565b92505060206126d68582860161220b565b9150509250929050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82169050919050565b612704816126e8565b811461270e575f5ffd5b50565b5f8135905061271f816126fb565b92915050565b5f5ffd5b5f67ffffffffffffffff82111561274357612742612261565b5b61274c826120e6565b9050602081019050919050565b828183375f83830152505050565b5f61277961277484612729565b6122bf565b90508281526020810184848401111561279557612794612725565b5b6127a0848285612759565b509392505050565b5f82601f8301126127bc576127bb61225d565b5b81356127cc848260208601612767565b91505092915050565b5f61010082840312156127eb576127ea6126e0565b5b6127f66101006122bf565b90505f6128058482850161220b565b5f83015250602061281884828501612711565b602083015250604061282c8482850161220b565b6040830152506060612840848285016121b1565b60608301525060806128548482850161220b565b60808301525060a061286884828501612466565b60a08301525060c082013567ffffffffffffffff81111561288c5761288b6126e4565b5b612898848285016127a8565b60c08301525060e082013567ffffffffffffffff8111156128bc576128bb6126e4565b5b6128c8848285016127a8565b60e08301525092915050565b5f5f604083850312156128ea576128e961218a565b5b5f83013567ffffffffffffffff8111156129075761290661218e565b5b612913858286016127d5565b9250506020612924858286016121b1565b9150509250929050565b5f602082840312156129435761294261218a565b5b5f82013567ffffffffffffffff8111156129605761295f61218e565b5b61296c848285016127d5565b91505092915050565b5f5f5f5f6080858703121561298d5761298c61218a565b5b5f61299a8782880161220b565b94505060206129ab878288016121b1565b93505060406129bc8782880161220b565b92505060606129cd8782880161220b565b91505092959194509250565b5f81905092915050565b5f6129ed826120be565b6129f781856129d9565b9350612a078185602086016120d8565b80840191505092915050565b7f20760000000000000000000000000000000000000000000000000000000000005f82015250565b5f612a476002836129d9565b9150612a5282612a13565b600282019050919050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f612a916001836129d9565b9150612a9c82612a5d565b600182019050919050565b5f612ab282876129e3565b9150612abd82612a3b565b9150612ac982866129e3565b9150612ad482612a85565b9150612ae082856129e3565b9150612aeb82612a85565b9150612af782846129e3565b915081905095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020820190508181035f830152612b4a81846125c4565b905092915050565b5f819050919050565b612b6c612b6782612192565b612b52565b82525050565b5f8160601b9050919050565b5f612b8882612b72565b9050919050565b5f612b9982612b7e565b9050919050565b612bb1612bac826121e4565b612b8f565b82525050565b5f612bc28285612b5b565b602082019150612bd28284612ba0565b6014820191508190509392505050565b5f604082019050612bf55f8301856124cd565b612c02602083018461255a565b9392505050565b612c128161214e565b8114612c1c575f5ffd5b50565b5f81519050612c2d81612c09565b92915050565b5f60208284031215612c4857612c4761218a565b5b5f612c5584828501612c1f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612cc282612192565b9150612ccd83612192565b9250828203905081811115612ce557612ce4612c8b565b5b92915050565b5f602082019050612cfe5f83018461255a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f606082019050612d445f8301866124a5565b612d5160208301856124a5565b612d5e60408301846124a5565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612daa57607f821691505b602082108103612dbd57612dbc612d66565b5b50919050565b612dcc816126e8565b82525050565b5f60e082019050612de55f83018a6124a5565b612df260208301896124cd565b612dff6040830188612dc3565b612e0c60608301876124cd565b612e19608083018661255a565b612e2660a08301856124cd565b612e3360c08301846124a5565b98975050505050505050565b5f60c082019050612e525f8301896124a5565b612e5f60208301886124cd565b612e6c6040830187612dc3565b612e7960608301866124cd565b612e86608083018561255a565b612e9360a08301846124cd565b979650505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f612ec282612e9e565b612ecc8185612ea8565b9350612edc8185602086016120d8565b612ee5816120e6565b840191505092915050565b5f604082019050612f035f8301856124a5565b8181036020830152612f158184612eb8565b90509392505050565b5f81905092915050565b5f612f3282612e9e565b612f3c8185612f1e565b9350612f4c8185602086016120d8565b80840191505092915050565b5f612f638284612f28565b915081905092915050565b5f81519050612f7c81612450565b92915050565b5f60208284031215612f9757612f9661218a565b5b5f612fa484828501612f6e565b91505092915050565b5f60a082019050612fc05f8301886124a5565b612fcd60208301876124a5565b612fda60408301866124a5565b612fe7606083018561255a565b612ff460808301846124cd565b9695505050505050565b5f60ff82169050919050565b61301381612ffe565b82525050565b5f60808201905061302c5f8301876124a5565b613039602083018661300a565b61304660408301856124a5565b61305360608301846124a5565b9594505050505056fea2646970667358221220c5d6e82239a714c525252082469fbf71070b387cd176f4ba7dce187b64d2ae3964736f6c63430008210033',
620
+ } as const satisfies MockArtifact;