@web3dotorg/evm-slc-core-sdk 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/common.ts +131 -0
  2. package/constants.ts +34 -0
  3. package/contracts/governance/ExecutorsRegistry.ts +1249 -0
  4. package/contracts/governance/Governance.ts +1740 -0
  5. package/contracts/governance/NeutralsRegistry.ts +1393 -0
  6. package/contracts/governance/ParameterRegistry.ts +832 -0
  7. package/contracts/governance/index.ts +7 -0
  8. package/contracts/index.ts +15 -0
  9. package/contracts/interfaces/IExecutorsRegistry.ts +601 -0
  10. package/contracts/interfaces/IGovernance.ts +215 -0
  11. package/contracts/interfaces/INeutralsRegistry.ts +624 -0
  12. package/contracts/interfaces/IQParameters.ts +109 -0
  13. package/contracts/interfaces/ISLCCore.ts +289 -0
  14. package/contracts/interfaces/ISLCCoreFactory.ts +217 -0
  15. package/contracts/interfaces/IWrappedToken.ts +272 -0
  16. package/contracts/interfaces/index.ts +10 -0
  17. package/contracts/libs/Errors.ts +71 -0
  18. package/contracts/libs/NeutralsSelection.ts +71 -0
  19. package/contracts/libs/index.ts +5 -0
  20. package/contracts/mocks/MockGovernance.ts +389 -0
  21. package/contracts/mocks/MockNeutralsRegistry.ts +791 -0
  22. package/contracts/mocks/SimpleContract.ts +110 -0
  23. package/contracts/mocks/WrappedToken.ts +334 -0
  24. package/contracts/mocks/index.ts +7 -0
  25. package/contracts/slc-core/SLCCore.ts +397 -0
  26. package/contracts/slc-core/SLCCoreFactory.ts +559 -0
  27. package/contracts/slc-core/index.ts +5 -0
  28. package/contracts/token/Token.ts +399 -0
  29. package/contracts/token/index.ts +4 -0
  30. package/factories/contracts/governance/ExecutorsRegistry__factory.ts +1240 -0
  31. package/factories/contracts/governance/Governance__factory.ts +2328 -0
  32. package/factories/contracts/governance/NeutralsRegistry__factory.ts +1491 -0
  33. package/factories/contracts/governance/ParameterRegistry__factory.ts +834 -0
  34. package/factories/contracts/governance/index.ts +7 -0
  35. package/factories/contracts/index.ts +9 -0
  36. package/factories/contracts/interfaces/IExecutorsRegistry__factory.ts +428 -0
  37. package/factories/contracts/interfaces/IGovernance__factory.ts +153 -0
  38. package/factories/contracts/interfaces/INeutralsRegistry__factory.ts +527 -0
  39. package/factories/contracts/interfaces/IQParameters__factory.ts +101 -0
  40. package/factories/contracts/interfaces/ISLCCoreFactory__factory.ts +197 -0
  41. package/factories/contracts/interfaces/ISLCCore__factory.ts +227 -0
  42. package/factories/contracts/interfaces/IWrappedToken__factory.ts +221 -0
  43. package/factories/contracts/interfaces/index.ts +10 -0
  44. package/factories/contracts/libs/Errors__factory.ts +205 -0
  45. package/factories/contracts/libs/NeutralsSelection__factory.ts +103 -0
  46. package/factories/contracts/libs/index.ts +5 -0
  47. package/factories/contracts/mocks/MockGovernance__factory.ts +353 -0
  48. package/factories/contracts/mocks/MockNeutralsRegistry__factory.ts +730 -0
  49. package/factories/contracts/mocks/SimpleContract__factory.ts +110 -0
  50. package/factories/contracts/mocks/WrappedToken__factory.ts +433 -0
  51. package/factories/contracts/mocks/index.ts +7 -0
  52. package/factories/contracts/slc-core/SLCCoreFactory__factory.ts +568 -0
  53. package/factories/contracts/slc-core/SLCCore__factory.ts +373 -0
  54. package/factories/contracts/slc-core/index.ts +5 -0
  55. package/factories/contracts/token/Token__factory.ts +505 -0
  56. package/factories/contracts/token/index.ts +4 -0
  57. package/index.ts +38 -0
  58. package/package.json +25 -0
@@ -0,0 +1,1240 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../../../common";
12
+ import type {
13
+ ExecutorsRegistry,
14
+ ExecutorsRegistryInterface,
15
+ } from "../../../contracts/governance/ExecutorsRegistry";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [
20
+ {
21
+ internalType: "address",
22
+ name: "target",
23
+ type: "address",
24
+ },
25
+ ],
26
+ name: "AddressEmptyCode",
27
+ type: "error",
28
+ },
29
+ {
30
+ inputs: [],
31
+ name: "AmountIsZero",
32
+ type: "error",
33
+ },
34
+ {
35
+ inputs: [
36
+ {
37
+ internalType: "address",
38
+ name: "implementation",
39
+ type: "address",
40
+ },
41
+ ],
42
+ name: "ERC1967InvalidImplementation",
43
+ type: "error",
44
+ },
45
+ {
46
+ inputs: [],
47
+ name: "ERC1967NonPayable",
48
+ type: "error",
49
+ },
50
+ {
51
+ inputs: [
52
+ {
53
+ internalType: "address",
54
+ name: "executor",
55
+ type: "address",
56
+ },
57
+ ],
58
+ name: "ExecutorAlreadyApproved",
59
+ type: "error",
60
+ },
61
+ {
62
+ inputs: [
63
+ {
64
+ internalType: "address",
65
+ name: "executor",
66
+ type: "address",
67
+ },
68
+ ],
69
+ name: "ExecutorAlreadyPaused",
70
+ type: "error",
71
+ },
72
+ {
73
+ inputs: [
74
+ {
75
+ internalType: "address",
76
+ name: "executor",
77
+ type: "address",
78
+ },
79
+ ],
80
+ name: "ExecutorHasNoStake",
81
+ type: "error",
82
+ },
83
+ {
84
+ inputs: [
85
+ {
86
+ internalType: "address",
87
+ name: "executor",
88
+ type: "address",
89
+ },
90
+ ],
91
+ name: "ExecutorNotApproved",
92
+ type: "error",
93
+ },
94
+ {
95
+ inputs: [
96
+ {
97
+ internalType: "address",
98
+ name: "executor",
99
+ type: "address",
100
+ },
101
+ ],
102
+ name: "ExecutorNotPaused",
103
+ type: "error",
104
+ },
105
+ {
106
+ inputs: [],
107
+ name: "FailedCall",
108
+ type: "error",
109
+ },
110
+ {
111
+ inputs: [
112
+ {
113
+ internalType: "address",
114
+ name: "account",
115
+ type: "address",
116
+ },
117
+ {
118
+ internalType: "uint256",
119
+ name: "balance",
120
+ type: "uint256",
121
+ },
122
+ {
123
+ internalType: "uint256",
124
+ name: "needed",
125
+ type: "uint256",
126
+ },
127
+ ],
128
+ name: "InsufficientOwedValue",
129
+ type: "error",
130
+ },
131
+ {
132
+ inputs: [
133
+ {
134
+ internalType: "address",
135
+ name: "account",
136
+ type: "address",
137
+ },
138
+ {
139
+ internalType: "uint256",
140
+ name: "balance",
141
+ type: "uint256",
142
+ },
143
+ {
144
+ internalType: "uint256",
145
+ name: "needed",
146
+ type: "uint256",
147
+ },
148
+ ],
149
+ name: "InsufficientSharesAmount",
150
+ type: "error",
151
+ },
152
+ {
153
+ inputs: [
154
+ {
155
+ internalType: "address",
156
+ name: "subject",
157
+ type: "address",
158
+ },
159
+ {
160
+ internalType: "uint256",
161
+ name: "requestedAmount",
162
+ type: "uint256",
163
+ },
164
+ {
165
+ internalType: "uint256",
166
+ name: "availibleAmount",
167
+ type: "uint256",
168
+ },
169
+ ],
170
+ name: "InsufficientStakeAmount",
171
+ type: "error",
172
+ },
173
+ {
174
+ inputs: [],
175
+ name: "InvalidERC20Token",
176
+ type: "error",
177
+ },
178
+ {
179
+ inputs: [],
180
+ name: "InvalidGovernance",
181
+ type: "error",
182
+ },
183
+ {
184
+ inputs: [
185
+ {
186
+ internalType: "address",
187
+ name: "executor",
188
+ type: "address",
189
+ },
190
+ ],
191
+ name: "InvalidInitialExecutor",
192
+ type: "error",
193
+ },
194
+ {
195
+ inputs: [],
196
+ name: "InvalidInitialization",
197
+ type: "error",
198
+ },
199
+ {
200
+ inputs: [],
201
+ name: "InvalidParametersRegistry",
202
+ type: "error",
203
+ },
204
+ {
205
+ inputs: [
206
+ {
207
+ internalType: "uint256",
208
+ name: "amount_",
209
+ type: "uint256",
210
+ },
211
+ ],
212
+ name: "InvalidStakeAmount",
213
+ type: "error",
214
+ },
215
+ {
216
+ inputs: [
217
+ {
218
+ internalType: "address",
219
+ name: "executor",
220
+ type: "address",
221
+ },
222
+ ],
223
+ name: "NoWithdrawalAnnouncement",
224
+ type: "error",
225
+ },
226
+ {
227
+ inputs: [],
228
+ name: "NotInitializing",
229
+ type: "error",
230
+ },
231
+ {
232
+ inputs: [
233
+ {
234
+ internalType: "string",
235
+ name: "parameterName",
236
+ type: "string",
237
+ },
238
+ ],
239
+ name: "ParameterIsAlreadySynced",
240
+ type: "error",
241
+ },
242
+ {
243
+ inputs: [
244
+ {
245
+ internalType: "address",
246
+ name: "parametersRegistry",
247
+ type: "address",
248
+ },
249
+ {
250
+ internalType: "string",
251
+ name: "parameterName",
252
+ type: "string",
253
+ },
254
+ ],
255
+ name: "ParameterIsNotSet",
256
+ type: "error",
257
+ },
258
+ {
259
+ inputs: [
260
+ {
261
+ internalType: "string",
262
+ name: "parameterName",
263
+ type: "string",
264
+ },
265
+ ],
266
+ name: "ParameterIsNotSynced",
267
+ type: "error",
268
+ },
269
+ {
270
+ inputs: [],
271
+ name: "QueueIsEmpty",
272
+ type: "error",
273
+ },
274
+ {
275
+ inputs: [
276
+ {
277
+ internalType: "address",
278
+ name: "token",
279
+ type: "address",
280
+ },
281
+ ],
282
+ name: "SafeERC20FailedOperation",
283
+ type: "error",
284
+ },
285
+ {
286
+ inputs: [
287
+ {
288
+ internalType: "address",
289
+ name: "sender",
290
+ type: "address",
291
+ },
292
+ ],
293
+ name: "SenderExpectedToBeDAOSLC",
294
+ type: "error",
295
+ },
296
+ {
297
+ inputs: [
298
+ {
299
+ internalType: "address",
300
+ name: "sender",
301
+ type: "address",
302
+ },
303
+ ],
304
+ name: "SenderExpectedToBeGovernance",
305
+ type: "error",
306
+ },
307
+ {
308
+ inputs: [],
309
+ name: "UUPSUnauthorizedCallContext",
310
+ type: "error",
311
+ },
312
+ {
313
+ inputs: [
314
+ {
315
+ internalType: "bytes32",
316
+ name: "slot",
317
+ type: "bytes32",
318
+ },
319
+ ],
320
+ name: "UUPSUnsupportedProxiableUUID",
321
+ type: "error",
322
+ },
323
+ {
324
+ inputs: [],
325
+ name: "UserIsZeroAddress",
326
+ type: "error",
327
+ },
328
+ {
329
+ inputs: [
330
+ {
331
+ internalType: "address",
332
+ name: "executor",
333
+ type: "address",
334
+ },
335
+ ],
336
+ name: "WithdrawalAlreadyAnnounced",
337
+ type: "error",
338
+ },
339
+ {
340
+ inputs: [
341
+ {
342
+ internalType: "address",
343
+ name: "executor",
344
+ type: "address",
345
+ },
346
+ {
347
+ internalType: "uint256",
348
+ name: "availableAt",
349
+ type: "uint256",
350
+ },
351
+ ],
352
+ name: "WithdrawalNotReady",
353
+ type: "error",
354
+ },
355
+ {
356
+ anonymous: false,
357
+ inputs: [
358
+ {
359
+ indexed: true,
360
+ internalType: "address",
361
+ name: "executor",
362
+ type: "address",
363
+ },
364
+ {
365
+ indexed: false,
366
+ internalType: "uint256",
367
+ name: "stake",
368
+ type: "uint256",
369
+ },
370
+ ],
371
+ name: "ExecutorActivated",
372
+ type: "event",
373
+ },
374
+ {
375
+ anonymous: false,
376
+ inputs: [
377
+ {
378
+ indexed: true,
379
+ internalType: "address",
380
+ name: "executor",
381
+ type: "address",
382
+ },
383
+ ],
384
+ name: "ExecutorApproved",
385
+ type: "event",
386
+ },
387
+ {
388
+ anonymous: false,
389
+ inputs: [
390
+ {
391
+ indexed: true,
392
+ internalType: "address",
393
+ name: "executor",
394
+ type: "address",
395
+ },
396
+ ],
397
+ name: "ExecutorDisapproved",
398
+ type: "event",
399
+ },
400
+ {
401
+ anonymous: false,
402
+ inputs: [
403
+ {
404
+ indexed: true,
405
+ internalType: "address",
406
+ name: "executor",
407
+ type: "address",
408
+ },
409
+ ],
410
+ name: "ExecutorMovedToStandby",
411
+ type: "event",
412
+ },
413
+ {
414
+ anonymous: false,
415
+ inputs: [
416
+ {
417
+ indexed: true,
418
+ internalType: "address",
419
+ name: "executor",
420
+ type: "address",
421
+ },
422
+ ],
423
+ name: "ExecutorPaused",
424
+ type: "event",
425
+ },
426
+ {
427
+ anonymous: false,
428
+ inputs: [
429
+ {
430
+ indexed: true,
431
+ internalType: "address",
432
+ name: "executor",
433
+ type: "address",
434
+ },
435
+ {
436
+ indexed: false,
437
+ internalType: "uint256",
438
+ name: "amount",
439
+ type: "uint256",
440
+ },
441
+ {
442
+ indexed: false,
443
+ internalType: "address",
444
+ name: "recipient",
445
+ type: "address",
446
+ },
447
+ ],
448
+ name: "ExecutorSlashed",
449
+ type: "event",
450
+ },
451
+ {
452
+ anonymous: false,
453
+ inputs: [
454
+ {
455
+ indexed: true,
456
+ internalType: "address",
457
+ name: "executor",
458
+ type: "address",
459
+ },
460
+ {
461
+ indexed: false,
462
+ internalType: "uint256",
463
+ name: "amount",
464
+ type: "uint256",
465
+ },
466
+ {
467
+ indexed: false,
468
+ internalType: "uint256",
469
+ name: "totalStake",
470
+ type: "uint256",
471
+ },
472
+ ],
473
+ name: "ExecutorStaked",
474
+ type: "event",
475
+ },
476
+ {
477
+ anonymous: false,
478
+ inputs: [
479
+ {
480
+ indexed: true,
481
+ internalType: "address",
482
+ name: "executor",
483
+ type: "address",
484
+ },
485
+ ],
486
+ name: "ExecutorUnpaused",
487
+ type: "event",
488
+ },
489
+ {
490
+ anonymous: false,
491
+ inputs: [
492
+ {
493
+ indexed: true,
494
+ internalType: "address",
495
+ name: "executor",
496
+ type: "address",
497
+ },
498
+ {
499
+ indexed: false,
500
+ internalType: "uint256",
501
+ name: "amount",
502
+ type: "uint256",
503
+ },
504
+ {
505
+ indexed: false,
506
+ internalType: "uint256",
507
+ name: "remainingStake",
508
+ type: "uint256",
509
+ },
510
+ ],
511
+ name: "ExecutorUnstaked",
512
+ type: "event",
513
+ },
514
+ {
515
+ anonymous: false,
516
+ inputs: [
517
+ {
518
+ indexed: false,
519
+ internalType: "uint64",
520
+ name: "version",
521
+ type: "uint64",
522
+ },
523
+ ],
524
+ name: "Initialized",
525
+ type: "event",
526
+ },
527
+ {
528
+ anonymous: false,
529
+ inputs: [
530
+ {
531
+ indexed: true,
532
+ internalType: "address",
533
+ name: "executor",
534
+ type: "address",
535
+ },
536
+ {
537
+ indexed: false,
538
+ internalType: "uint256",
539
+ name: "amount",
540
+ type: "uint256",
541
+ },
542
+ ],
543
+ name: "RewardsClaimed",
544
+ type: "event",
545
+ },
546
+ {
547
+ anonymous: false,
548
+ inputs: [
549
+ {
550
+ indexed: false,
551
+ internalType: "uint256",
552
+ name: "totalAmount",
553
+ type: "uint256",
554
+ },
555
+ ],
556
+ name: "RewardsDistributed",
557
+ type: "event",
558
+ },
559
+ {
560
+ anonymous: false,
561
+ inputs: [
562
+ {
563
+ indexed: false,
564
+ internalType: "address",
565
+ name: "user",
566
+ type: "address",
567
+ },
568
+ {
569
+ indexed: false,
570
+ internalType: "uint256",
571
+ name: "amount",
572
+ type: "uint256",
573
+ },
574
+ ],
575
+ name: "SharesAdded",
576
+ type: "event",
577
+ },
578
+ {
579
+ anonymous: false,
580
+ inputs: [
581
+ {
582
+ indexed: false,
583
+ internalType: "address",
584
+ name: "user",
585
+ type: "address",
586
+ },
587
+ {
588
+ indexed: false,
589
+ internalType: "uint256",
590
+ name: "amount",
591
+ type: "uint256",
592
+ },
593
+ ],
594
+ name: "SharesRemoved",
595
+ type: "event",
596
+ },
597
+ {
598
+ anonymous: false,
599
+ inputs: [
600
+ {
601
+ indexed: true,
602
+ internalType: "address",
603
+ name: "implementation",
604
+ type: "address",
605
+ },
606
+ ],
607
+ name: "Upgraded",
608
+ type: "event",
609
+ },
610
+ {
611
+ anonymous: false,
612
+ inputs: [
613
+ {
614
+ indexed: false,
615
+ internalType: "address",
616
+ name: "user",
617
+ type: "address",
618
+ },
619
+ {
620
+ indexed: false,
621
+ internalType: "uint256",
622
+ name: "amount",
623
+ type: "uint256",
624
+ },
625
+ ],
626
+ name: "ValueDistributed",
627
+ type: "event",
628
+ },
629
+ {
630
+ anonymous: false,
631
+ inputs: [
632
+ {
633
+ indexed: true,
634
+ internalType: "address",
635
+ name: "executor",
636
+ type: "address",
637
+ },
638
+ {
639
+ indexed: false,
640
+ internalType: "uint256",
641
+ name: "amount",
642
+ type: "uint256",
643
+ },
644
+ {
645
+ indexed: false,
646
+ internalType: "uint256",
647
+ name: "availableAt",
648
+ type: "uint256",
649
+ },
650
+ ],
651
+ name: "WithdrawalAnnounced",
652
+ type: "event",
653
+ },
654
+ {
655
+ anonymous: false,
656
+ inputs: [
657
+ {
658
+ indexed: true,
659
+ internalType: "address",
660
+ name: "executor",
661
+ type: "address",
662
+ },
663
+ {
664
+ indexed: false,
665
+ internalType: "uint256",
666
+ name: "amount",
667
+ type: "uint256",
668
+ },
669
+ ],
670
+ name: "WithdrawalCancelled",
671
+ type: "event",
672
+ },
673
+ {
674
+ inputs: [],
675
+ name: "UPGRADE_INTERFACE_VERSION",
676
+ outputs: [
677
+ {
678
+ internalType: "string",
679
+ name: "",
680
+ type: "string",
681
+ },
682
+ ],
683
+ stateMutability: "view",
684
+ type: "function",
685
+ },
686
+ {
687
+ inputs: [
688
+ {
689
+ internalType: "address",
690
+ name: "governance_",
691
+ type: "address",
692
+ },
693
+ {
694
+ internalType: "address[]",
695
+ name: "initialExecutors_",
696
+ type: "address[]",
697
+ },
698
+ ],
699
+ name: "__ExecutorsRegistry_init",
700
+ outputs: [],
701
+ stateMutability: "nonpayable",
702
+ type: "function",
703
+ },
704
+ {
705
+ inputs: [
706
+ {
707
+ internalType: "uint256",
708
+ name: "amount_",
709
+ type: "uint256",
710
+ },
711
+ ],
712
+ name: "announceWithdrawal",
713
+ outputs: [],
714
+ stateMutability: "nonpayable",
715
+ type: "function",
716
+ },
717
+ {
718
+ inputs: [
719
+ {
720
+ internalType: "address",
721
+ name: "executor_",
722
+ type: "address",
723
+ },
724
+ ],
725
+ name: "approveExecutor",
726
+ outputs: [],
727
+ stateMutability: "nonpayable",
728
+ type: "function",
729
+ },
730
+ {
731
+ inputs: [],
732
+ name: "boundActiveExecutors",
733
+ outputs: [],
734
+ stateMutability: "nonpayable",
735
+ type: "function",
736
+ },
737
+ {
738
+ inputs: [],
739
+ name: "cancelWithdrawal",
740
+ outputs: [],
741
+ stateMutability: "nonpayable",
742
+ type: "function",
743
+ },
744
+ {
745
+ inputs: [],
746
+ name: "claimRewards",
747
+ outputs: [],
748
+ stateMutability: "nonpayable",
749
+ type: "function",
750
+ },
751
+ {
752
+ inputs: [],
753
+ name: "completeWithdrawal",
754
+ outputs: [],
755
+ stateMutability: "nonpayable",
756
+ type: "function",
757
+ },
758
+ {
759
+ inputs: [],
760
+ name: "cumulativeSum",
761
+ outputs: [
762
+ {
763
+ internalType: "uint256",
764
+ name: "",
765
+ type: "uint256",
766
+ },
767
+ ],
768
+ stateMutability: "view",
769
+ type: "function",
770
+ },
771
+ {
772
+ inputs: [
773
+ {
774
+ internalType: "address",
775
+ name: "executor_",
776
+ type: "address",
777
+ },
778
+ ],
779
+ name: "disapproveExecutor",
780
+ outputs: [],
781
+ stateMutability: "nonpayable",
782
+ type: "function",
783
+ },
784
+ {
785
+ inputs: [
786
+ {
787
+ internalType: "uint256",
788
+ name: "amount_",
789
+ type: "uint256",
790
+ },
791
+ ],
792
+ name: "distributeRewards",
793
+ outputs: [],
794
+ stateMutability: "nonpayable",
795
+ type: "function",
796
+ },
797
+ {
798
+ inputs: [
799
+ {
800
+ internalType: "uint256",
801
+ name: "offset_",
802
+ type: "uint256",
803
+ },
804
+ {
805
+ internalType: "uint256",
806
+ name: "limit_",
807
+ type: "uint256",
808
+ },
809
+ ],
810
+ name: "getActiveExecutors",
811
+ outputs: [
812
+ {
813
+ internalType: "address[]",
814
+ name: "",
815
+ type: "address[]",
816
+ },
817
+ ],
818
+ stateMutability: "view",
819
+ type: "function",
820
+ },
821
+ {
822
+ inputs: [
823
+ {
824
+ internalType: "address",
825
+ name: "executor_",
826
+ type: "address",
827
+ },
828
+ ],
829
+ name: "getExecutorInfo",
830
+ outputs: [
831
+ {
832
+ components: [
833
+ {
834
+ internalType: "uint256",
835
+ name: "stake",
836
+ type: "uint256",
837
+ },
838
+ {
839
+ internalType: "bool",
840
+ name: "isApproved",
841
+ type: "bool",
842
+ },
843
+ {
844
+ internalType: "bool",
845
+ name: "isActive",
846
+ type: "bool",
847
+ },
848
+ {
849
+ internalType: "bool",
850
+ name: "isStandby",
851
+ type: "bool",
852
+ },
853
+ ],
854
+ internalType: "struct ExecutorsRegistry.ExecutorInfo",
855
+ name: "",
856
+ type: "tuple",
857
+ },
858
+ ],
859
+ stateMutability: "view",
860
+ type: "function",
861
+ },
862
+ {
863
+ inputs: [],
864
+ name: "getExecutorsCount",
865
+ outputs: [
866
+ {
867
+ internalType: "uint256",
868
+ name: "",
869
+ type: "uint256",
870
+ },
871
+ ],
872
+ stateMutability: "view",
873
+ type: "function",
874
+ },
875
+ {
876
+ inputs: [
877
+ {
878
+ internalType: "address",
879
+ name: "user_",
880
+ type: "address",
881
+ },
882
+ ],
883
+ name: "getOwedValue",
884
+ outputs: [
885
+ {
886
+ internalType: "uint256",
887
+ name: "",
888
+ type: "uint256",
889
+ },
890
+ ],
891
+ stateMutability: "view",
892
+ type: "function",
893
+ },
894
+ {
895
+ inputs: [
896
+ {
897
+ internalType: "uint256",
898
+ name: "offset_",
899
+ type: "uint256",
900
+ },
901
+ {
902
+ internalType: "uint256",
903
+ name: "limit_",
904
+ type: "uint256",
905
+ },
906
+ ],
907
+ name: "getStandbyExecutors",
908
+ outputs: [
909
+ {
910
+ internalType: "address[]",
911
+ name: "",
912
+ type: "address[]",
913
+ },
914
+ ],
915
+ stateMutability: "view",
916
+ type: "function",
917
+ },
918
+ {
919
+ inputs: [
920
+ {
921
+ internalType: "address",
922
+ name: "executor_",
923
+ type: "address",
924
+ },
925
+ ],
926
+ name: "getWithdrawalAnnouncement",
927
+ outputs: [
928
+ {
929
+ components: [
930
+ {
931
+ internalType: "uint256",
932
+ name: "amount",
933
+ type: "uint256",
934
+ },
935
+ {
936
+ internalType: "uint256",
937
+ name: "announcedAt",
938
+ type: "uint256",
939
+ },
940
+ {
941
+ internalType: "uint256",
942
+ name: "availableAt",
943
+ type: "uint256",
944
+ },
945
+ ],
946
+ internalType: "struct ExecutorsRegistry.WithdrawalAnnouncement",
947
+ name: "",
948
+ type: "tuple",
949
+ },
950
+ ],
951
+ stateMutability: "view",
952
+ type: "function",
953
+ },
954
+ {
955
+ inputs: [
956
+ {
957
+ internalType: "address",
958
+ name: "executor_",
959
+ type: "address",
960
+ },
961
+ ],
962
+ name: "hasShares",
963
+ outputs: [
964
+ {
965
+ internalType: "bool",
966
+ name: "",
967
+ type: "bool",
968
+ },
969
+ ],
970
+ stateMutability: "view",
971
+ type: "function",
972
+ },
973
+ {
974
+ inputs: [],
975
+ name: "implementation",
976
+ outputs: [
977
+ {
978
+ internalType: "address",
979
+ name: "",
980
+ type: "address",
981
+ },
982
+ ],
983
+ stateMutability: "view",
984
+ type: "function",
985
+ },
986
+ {
987
+ inputs: [
988
+ {
989
+ internalType: "address",
990
+ name: "candidate_",
991
+ type: "address",
992
+ },
993
+ ],
994
+ name: "isExecutor",
995
+ outputs: [
996
+ {
997
+ internalType: "bool",
998
+ name: "",
999
+ type: "bool",
1000
+ },
1001
+ ],
1002
+ stateMutability: "view",
1003
+ type: "function",
1004
+ },
1005
+ {
1006
+ inputs: [
1007
+ {
1008
+ internalType: "address",
1009
+ name: "executor_",
1010
+ type: "address",
1011
+ },
1012
+ ],
1013
+ name: "isWithdrawalReady",
1014
+ outputs: [
1015
+ {
1016
+ internalType: "bool",
1017
+ name: "",
1018
+ type: "bool",
1019
+ },
1020
+ ],
1021
+ stateMutability: "view",
1022
+ type: "function",
1023
+ },
1024
+ {
1025
+ inputs: [],
1026
+ name: "proxiableUUID",
1027
+ outputs: [
1028
+ {
1029
+ internalType: "bytes32",
1030
+ name: "",
1031
+ type: "bytes32",
1032
+ },
1033
+ ],
1034
+ stateMutability: "view",
1035
+ type: "function",
1036
+ },
1037
+ {
1038
+ inputs: [
1039
+ {
1040
+ internalType: "address",
1041
+ name: "executor_",
1042
+ type: "address",
1043
+ },
1044
+ {
1045
+ internalType: "uint256",
1046
+ name: "amount_",
1047
+ type: "uint256",
1048
+ },
1049
+ ],
1050
+ name: "slashExecutor",
1051
+ outputs: [],
1052
+ stateMutability: "nonpayable",
1053
+ type: "function",
1054
+ },
1055
+ {
1056
+ inputs: [
1057
+ {
1058
+ internalType: "uint256",
1059
+ name: "amount_",
1060
+ type: "uint256",
1061
+ },
1062
+ ],
1063
+ name: "stake",
1064
+ outputs: [],
1065
+ stateMutability: "nonpayable",
1066
+ type: "function",
1067
+ },
1068
+ {
1069
+ inputs: [
1070
+ {
1071
+ internalType: "bytes4",
1072
+ name: "interfaceId_",
1073
+ type: "bytes4",
1074
+ },
1075
+ ],
1076
+ name: "supportsInterface",
1077
+ outputs: [
1078
+ {
1079
+ internalType: "bool",
1080
+ name: "",
1081
+ type: "bool",
1082
+ },
1083
+ ],
1084
+ stateMutability: "view",
1085
+ type: "function",
1086
+ },
1087
+ {
1088
+ inputs: [],
1089
+ name: "totalShares",
1090
+ outputs: [
1091
+ {
1092
+ internalType: "uint256",
1093
+ name: "",
1094
+ type: "uint256",
1095
+ },
1096
+ ],
1097
+ stateMutability: "view",
1098
+ type: "function",
1099
+ },
1100
+ {
1101
+ inputs: [],
1102
+ name: "tryBecomeActive",
1103
+ outputs: [],
1104
+ stateMutability: "nonpayable",
1105
+ type: "function",
1106
+ },
1107
+ {
1108
+ inputs: [
1109
+ {
1110
+ internalType: "uint256",
1111
+ name: "newAmount_",
1112
+ type: "uint256",
1113
+ },
1114
+ ],
1115
+ name: "updateWithdrawalAnnouncement",
1116
+ outputs: [],
1117
+ stateMutability: "nonpayable",
1118
+ type: "function",
1119
+ },
1120
+ {
1121
+ inputs: [],
1122
+ name: "updatedAt",
1123
+ outputs: [
1124
+ {
1125
+ internalType: "uint256",
1126
+ name: "",
1127
+ type: "uint256",
1128
+ },
1129
+ ],
1130
+ stateMutability: "view",
1131
+ type: "function",
1132
+ },
1133
+ {
1134
+ inputs: [
1135
+ {
1136
+ internalType: "address",
1137
+ name: "newImplementation",
1138
+ type: "address",
1139
+ },
1140
+ {
1141
+ internalType: "bytes",
1142
+ name: "data",
1143
+ type: "bytes",
1144
+ },
1145
+ ],
1146
+ name: "upgradeToAndCall",
1147
+ outputs: [],
1148
+ stateMutability: "payable",
1149
+ type: "function",
1150
+ },
1151
+ {
1152
+ inputs: [
1153
+ {
1154
+ internalType: "address",
1155
+ name: "user_",
1156
+ type: "address",
1157
+ },
1158
+ ],
1159
+ name: "userDistribution",
1160
+ outputs: [
1161
+ {
1162
+ components: [
1163
+ {
1164
+ internalType: "uint256",
1165
+ name: "shares",
1166
+ type: "uint256",
1167
+ },
1168
+ {
1169
+ internalType: "uint256",
1170
+ name: "cumulativeSum",
1171
+ type: "uint256",
1172
+ },
1173
+ {
1174
+ internalType: "uint256",
1175
+ name: "owedValue",
1176
+ type: "uint256",
1177
+ },
1178
+ ],
1179
+ internalType: "struct AValueDistributor.UserDistribution",
1180
+ name: "",
1181
+ type: "tuple",
1182
+ },
1183
+ ],
1184
+ stateMutability: "view",
1185
+ type: "function",
1186
+ },
1187
+ ] as const;
1188
+
1189
+ const _bytecode =
1190
+ "0x60a0806040523460295730608052612f8c908161002f8239608051818181610d9e0152610e710152f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146115e6575080630effda78146115bb5780632261128014611528578063241eb5f6146114465780632d3bac1b146113de578063372500ab146113145780633a3f9e75146112785780633a98ef391461124d5780633cf694751461122c5780633e0bcbb4146111b55780634df1de9f146110355780634f1ef28614610df557806352d1902d14610d8b57806359974e3814610c8d5780635c60da1b14610c575780636aedcf2814610bb75780637519ab5014610b8c5780638e28b92314610ae8578063944e6c9614610aad578063a16f5fd214610a82578063a694fc3a146109e5578063ad3cb1cc1461099e578063add34d4b146108ef578063b9b8c6c5146108cb578063ba7e3128146107bb578063c32ffb5014610798578063c9ae8417146103d9578063debfda30146103ac578063e03ff7cb146102d5578063e77a2d41146101d05763ee602ca41461017457600080fd5b346101cb5760203660031901126101cb5760606101a86101a3610195611692565b61019d611907565b506117aa565b611926565b6101c960405180926040809180518452602081015160208501520151910152565bf35b600080fd5b346101cb576101de36611639565b906101f9600080516020612e00833981519152549282611840565b918083116102cd575b508181116102c5575b9061021e610219838361185c565b611880565b9082600080516020612e0083398151915254935b82811061024b5760405180610247868261164f565b0390f35b6000858210156102b157600080516020612e0083398151915290527f1e0ce46bce14d777c5b31a1e2b7a99ced6e5b488503d6991eb064b3327368e95810154600191906001600160a01b03166102aa6102a4858461185c565b876118e0565b5201610232565b634e487b7160e01b81526032600452602490fd5b90508061020b565b915082610202565b346101cb5760003660031901126101cb576102ef33611771565b6102f8336117aa565b60018101541561039757600281015480421061037f575054906000600261031e336117aa565b828155826001820155015561034b823360018060a01b03600080516020612f008339815191525416611aef565b5460405191825260208201527f55574b9b1d6cfd329ca51650c2c7ecbbac27431270dbffc8a1ac0e1fc4bd6f9660403392a2005b63941d772960e01b6000523360045260245260446000fd5b63ee11dd8b60e01b6000523360045260246000fd5b346101cb5760203660031901126101cb5760206103cf6103ca611692565b6119cb565b6040519015158152f35b346101cb5760403660031901126101cb576103f2611692565b602435906001600160401b0382116101cb57366023830112156101cb578160040135906001600160401b0382116101cb573660248360051b850101116101cb57600080516020612f60833981519152549060ff8260401c1615916001600160401b03811680159081610790575b6001149081610786575b15908161077d575b5061076c5767ffffffffffffffff198116600117600080516020612f60833981519152558261073f575b5060ff600080516020612f608339815191525460401c161561072e576001600160a01b0316801561071e577f84b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0080546001600160a01b03191682179055604051632db8b60760e01b815290602082600481845afa9081156106f0576004926000926106fc575b5060209060405193848092630574924160e21b82525afa9182156106f0576000926106bf575b506001600160a01b03169081156106ae576001600160a01b031690811561069d5760018060a01b0319600080516020612f00833981519152541617600080516020612f008339815191525560018060a01b0319600080516020612f20833981519152541617600080516020612f20833981519152556105c3611b52565b600080516020612ec08339815191525560005b8281101561064257600581901b84016024013560006001600160a01b03821680830361063e57801561062b575050906106258260016106158195611771565b01805460ff19168517905561205d565b016105d6565b638d6d6cdd60e01b825260045260249150fd5b5080fd5b5061064957005b60ff60401b19600080516020612f608339815191525416600080516020612f60833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b633f63c6e560e01b60005260046000fd5b6326412d8960e21b60005260046000fd5b6106e291925060203d6020116106e9575b6106da81836116f4565b8101906119ac565b9085610546565b503d6106d0565b6040513d6000823e3d90fd5b602091925061071790823d84116106e9576106da81836116f4565b9190610520565b6218c61b60e21b60005260046000fd5b631afcd79f60e31b60005260046000fd5b68ffffffffffffffffff19166801000000000000000117600080516020612f60833981519152558461049b565b63f92ee8a960e01b60005260046000fd5b90501586610471565b303b159150610469565b84915061045f565b346101cb5760203660031901126101cb5760206103cf6107b6611692565b611989565b346101cb5760203660031901126101cb576004356107d76119e1565b80156108b7576107e633611771565b6107ef336117aa565b90805480156108a257808411610886575060018201805461087157600261081d610817611fe6565b42611840565b938492868255429055015561083383825461185c565b905561083e33611a2c565b60405191825260208201527f9af5208f4a6f6c7001c4c7c54434505fccefba7771cf71365559106c39b59d1860403392a2005b63e7f8a2d360e01b6000523360045260246000fd5b836339f1f13f60e11b6000523360045260245260445260646000fd5b632e29f5df60e11b6000523360045260246000fd5b63222d164360e21b60005260045260246000fd5b346101cb5760003660031901126101cb576108e46119e1565b6108ed33611f14565b005b346101cb5760203660031901126101cb57610908611692565b610910611c74565b6109186119e1565b600161092382611771565b01805460ff81161561097f5760ff1916905561093e81611e34565b61094781611e65565b61094f611e91565b6001600160a01b03167f5ccdd6dc45055f1d638e6bbe0b2e9a920565ebe2ecf098f922a8d26db1ea5cbb600080a2005b63f2a2e58960e01b60009081526001600160a01b038416600452602490fd5b346101cb5760003660031901126101cb5761024760408051906109c181836116f4565b60058252640352e302e360dc1b602083015251918291602083526020830190611730565b346101cb5760203660031901126101cb57600435610a016119e1565b80156108b757610a1033611771565b610a1b828254611840565b8155610a2633611a2c565b600080516020612f0083398151915254610a4e908390309033906001600160a01b0316611d61565b5460405191825260208201527f926a3c3af39cf03248ef2356eea4773f0140d786be3dff43d41d4170baaa15e060403392a2005b346101cb5760003660031901126101cb576020600080516020612ee083398151915254604051908152f35b346101cb5760203660031901126101cb5760206001610ade6101a3610ad0611692565b610ad8611907565b506117e3565b5160405191148152f35b346101cb5760203660031901126101cb576080610b2c610b06611692565b60006060604051610b16816116a8565b8281528260208201528260408201520152611771565b604051610b38816116a8565b60018254928383520154906020810160ff83161515815260ff60606040840193828660081c1615158552019360101c1615158352604051938452511515602084015251151560408301525115156060820152f35b346101cb5760003660031901126101cb576020600080516020612f4083398151915254604051908152f35b346101cb5760203660031901126101cb57610bd0611692565b610bd8611c74565b610be06119e1565b6001610beb82611771565b01805460ff8116610c385760ff19166001179055610c0881611a2c565b6001600160a01b03167fe0a91202898d5ae273647cb7d2fd1f02567e0a395e0caa6165f4163ee48c194a600080a2005b630f7641dd60e01b60009081526001600160a01b038416600452602490fd5b346101cb5760003660031901126101cb57600080516020612ea0833981519152546040516001600160a01b039091168152602090f35b346101cb5760203660031901126101cb577f84b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0054600435906001600160a01b03163303610d7657600080516020612f00833981519152547f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be44291602091610d20908290309033906001600160a01b0316611d61565b80600080516020612e2083398151915255610d3a42611a6d565b600080516020612ee08339815191525542600080516020612f40833981519152556000600080516020612e2083398151915255604051908152a1005b63064ad62560e21b6000523360045260246000fd5b346101cb5760003660031901126101cb577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610de4576020604051600080516020612ea08339815191528152f35b63703e46dd60e11b60005260046000fd5b60403660031901126101cb57610e09611692565b602435906001600160401b0382116101cb57366023830112156101cb57816004013590610e3582611715565b91610e4360405193846116f4565b808352602083019336602483830101116101cb57816000926024602093018737840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115611012575b50610de457610ea9611c74565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa60009181610fde575b50610eee5784634c9c8ce360e01b60005260045260246000fd5b80600080516020612ea0833981519152869203610fca5750823b15610fb657600080516020612ea083398151915280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2825115610f9b57600080916108ed945190845af43d15610f93573d91610f7683611715565b92610f8460405194856116f4565b83523d6000602085013e612ce6565b606091612ce6565b50505034610fa557005b63b398979f60e01b60005260046000fd5b634c9c8ce360e01b60005260045260246000fd5b632a87526960e21b60005260045260246000fd5b9091506020813d60201161100a575b81610ffa602093836116f4565b810103126101cb57519086610ed4565b3d9150610fed565b600080516020612ea0833981519152546001600160a01b03161415905084610e9c565b346101cb5760403660031901126101cb5761104e611692565b602435611059611c74565b6110616119e1565b61106a82611771565b91611074816117aa565b9280549081946001810154151592836111a5575b801561118657851161116157917f0b694d23bf107814c5fa8722ac9ae0d98249afdcb3e6268983b68670f844b8e39391604093876110c4611cdc565b938189119081611159575b5061112d575b50506110e286825461185c565b90556110ed82611a2c565b600080516020612f008339815191525461111390869083906001600160a01b0316611aef565b82519485526001600160a01b0390811660208601521692a2005b611138915490611840565b815560006002611147856117aa565b828155826001820155015586806110d5565b9050896110cf565b5050506339f1f13f60e11b60005260018060a01b031660045260245260445260646000fd5b632e29f5df60e11b60009081526001600160a01b038616600452602490fd5b81546111b091611840565b611088565b346101cb5760003660031901126101cb576111ce611b52565b80600080516020612ec083398151915254146111fc57600080516020612ec0833981519152556108ed611c0a565b61122861120761194e565b604051636fe324a160e01b8152602060048201529182916024830190611730565b0390fd5b346101cb5760203660031901126101cb5760606101a86101a3610ad0611692565b346101cb5760003660031901126101cb576020600080516020612e8083398151915254604051908152f35b346101cb5760203660031901126101cb576004356112946119e1565b61129d33611771565b6112a6336117aa565b6001810154156103975754906112bd828254611840565b9055600060026112cc336117aa565b82815582600182015501556112e033611a2c565b6040519081527f2eed97477f07c07ec48f8f678f4e84f7c0de55bf33f51c3dc989b1335308031960203392a26107d76119e1565b346101cb5760003660031901126101cb5761132e33611da5565b6002611339336117e3565b0180549081156113cd576000905560408051338152602081018390527f1ed4fb6cfcdf3a9407eba156e77b085d9a0e087bd1a00a3012b23a1a2ff7fbb89190a1600080516020612f008339815191525461139f90829033906001600160a01b0316611aef565b6040519081527ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe60203392a2005b6310eb483f60e21b60005260046000fd5b346101cb5760203660031901126101cb57602061143e6114046113ff611692565b6117e3565b60026a084595161401484a000000611434835461142e61142342611a6d565b60018701549061185c565b906118f4565b0491015490611840565b604051908152f35b346101cb5761145436611639565b9061146f600080516020612e40833981519152549282611840565b91808311611520575b50818111611518575b9061148f610219838361185c565b9082600080516020612e4083398151915254935b8281106114b85760405180610247868261164f565b6000858210156102b157600080516020612e4083398151915290527f4269b5a540d694aa9b2ecadea5656c03fd9d7520d8fb03266a39ec90b9eee1b8810154600191906001600160a01b03166115116102a4858461185c565b52016114a3565b905080611481565b915082611478565b346101cb5760003660031901126101cb576115416119e1565b61154a33611771565b611553336117aa565b60018101541561039757549061156a828254611840565b905560006002611579336117aa565b828155826001820155015561158d33611a2c565b6040519081527f2eed97477f07c07ec48f8f678f4e84f7c0de55bf33f51c3dc989b1335308031960203392a2005b346101cb5760003660031901126101cb576020600080516020612e4083398151915254604051908152f35b346101cb5760203660031901126101cb576004359063ffffffff60e01b82168092036101cb5760209163089d74e760e41b8114908115611628575b5015158152f35b6301ffc9a760e01b14905083611621565b60409060031901126101cb576004359060243590565b602060408183019282815284518094520192019060005b8181106116735750505090565b82516001600160a01b0316845260209384019390920191600101611666565b600435906001600160a01b03821682036101cb57565b608081019081106001600160401b038211176116c357604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176116c357604052565b90601f801991011681019081106001600160401b038211176116c357604052565b6001600160401b0381116116c357601f01601f191660200190565b919082519283825260005b84811061175c575050826000602080949584010152601f8019910116010190565b8060208092840101518282860101520161173b565b6001600160a01b031660009081527f84b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae096020526040902090565b6001600160a01b031660009081527f84b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0a6020526040902090565b6001600160a01b031660009081527f3787c5369be7468820c1967d258d594c4479f12333b91d3edff0bcbb43e7bf926020526040902090565b906001820180921161182a57565b634e487b7160e01b600052601160045260246000fd5b9190820180921161182a57565b60001981019190821161182a57565b9190820391821161182a57565b6001600160401b0381116116c35760051b60200190565b9061188a82611869565b61189760405191826116f4565b82815280926118a8601f1991611869565b0190602036910137565b80548210156118ca5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b80518210156118ca5760209160051b010190565b8181029291811591840414171561182a57565b60405190611914826116d9565b60006040838281528260208201520152565b90604051611933816116d9565b60406002829480548452600181015460208501520154910152565b6040519061195d6040836116f4565b602082527f736c632e6578656375746f72732e6d61784163746976654578656375746f72736020830152565b611992906117aa565b6001810154156119a6576002015442101590565b50600090565b908160209103126101cb57516001600160a01b03811681036101cb5790565b60016119d860ff92611771565b015460081c1690565b600080516020612ec0833981519152546119f9611b52565b03611a0057565b611228611a0b61194e565b604051630e325b8360e31b8152602060048201529182916024830190611730565b611a5d90611a39816119cb565b15611a5f57611a4781611e34565b611a50816121f8565b611a58611e91565b6123ae565b565b611a6881611e65565b611a47565b50600080516020612e80833981519152548015611adb57600080516020612e208339815191525490600080516020612ee083398151915254906a084595161401484a0000008302928084046a084595161401484a000000149015171561182a57611ad8920490611840565b90565b50600080516020612ee08339815191525490565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152611a5d91611b2b6064836116f4565b61256a565b6001600160a01b039091168152604060208201819052611ad892910190611730565b600080516020612f20833981519152546001600160a01b031690611b996020611b7961194e565b6040518093819262498bff60e81b83528460048401526024830190611730565b0381865afa60009181611bd6575b50611bd25782611bb561194e565b6040516334d82c6160e11b81529182916112289160048401611b30565b9150565b9091506020813d602011611c02575b81611bf2602093836116f4565b810103126101cb57519038611ba7565b3d9150611be5565b600080516020612ec083398151915254600080516020612e40833981519152549081811015611c7057611c3c9161185c565b8015611c6d57611c646001600160a01b03611c5561275f565b16611c5f81611e34565b6121f8565b60001901611c3c565b50565b5050565b6001600160a01b03611c846125f5565b163303611c8d57565b628ff8e960e21b6000523360045260246000fd5b60405190611cb06040836116f4565b601f82527f736c632e6578656375746f72732e736c617368696e67526563697069656e74006020830152565b600080516020612f20833981519152546001600160a01b031690611d246020611d03611ca1565b6040518093819263d502db9760e01b83528460048401526024830190611730565b0381865afa60009181611d40575b50611bd25782611bb5611ca1565b611d5a91925060203d6020116106e9576106da81836116f4565b9038611d32565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152611a5d91611b2b6084836116f4565b611dae42611a6d565b600080516020612ee083398151915281905542600080516020612f4083398151915255906001600160a01b038116611de4575050565b611ded906117e3565b611e1e60026a084595161401484a000000611e13845461142e600187019788549061185c565b049201918254611840565b9055600080516020612ee0833981519152549055565b611a5d90611e4a6001600160a01b0382166127e7565b506001611e5682611771565b01805461ff00191690556123ae565b600190611e8490611e7e6001600160a01b038216612a7a565b50611771565b01805462ff000019169055565b600080516020612e008339815191525415611a5d576000600080516020612e008339815191525415611f0557600080516020612e00833981519152805415611ef15790611a5d91815260208120549060031b1c60018060a01b0316611f14565b634e487b7160e01b82526032600452602482fd5b6363c3654960e01b8152600490fd5b611f1d81611771565b60ff60018201541615611c70575490611f34612694565b8210611c7057600080516020612e4083398151915254600080516020612ec0833981519152541115611f6a57611a5d915061270b565b6001600160a01b03611f7a61275f565b1691611f8583611771565b541015611fa157611f9c82611c5f611a5d94611e34565b61270b565b611a5d91506121f8565b60405190611fba6040836116f4565b601e82527f736c632e6578656375746f72732e7769746864726177616c506572696f6400006020830152565b600080516020612f20833981519152546001600160a01b03169061200d6020611b79611fab565b0381865afa60009181612029575b50611bd25782611bb5611fab565b9091506020813d602011612055575b81612045602093836116f4565b810103126101cb5751903861201b565b3d9150612038565b61206681611771565b805419600080516020612e4083398151915254600160401b8110156116c3576120b48160016120d99301600080516020612e4083398151915255600080516020612e408339815191526118b2565b8154919260001960039290921b91821b199092166001600160a01b03871690911b1790565b9055600080516020612de083398151915254600160401b8110156116c35761212681600161213d9301600080516020612de083398151915255600080516020612de08339815191526118b2565b819391549060031b91821b91600019901b19161790565b9055600080516020612e4083398151915254600019810190811161182a578061217481600080516020612de08339815191526118b2565b90549060031b1c915b61219d575b5050600101805461ff001916610100179055611a5d906123ae565b600019810181811161182a5760011c90826121c683600080516020612de08339815191526118b2565b90549060031b1c10156121f2576121ec9082600080516020612e40833981519152612d47565b8061217d565b50612182565b61220181611771565b805461220b612694565b11611c7057600181019060ff825460101c166123a0575b54600080516020612e00833981519152546001600160a01b0390931692600160401b8110156116c35761227b612126826001879401600080516020612e0083398151915255600080516020612e008339815191526118b2565b9055600080516020612e6083398151915254600160401b8110156116c3576121268160016122c89301600080516020612e6083398151915255600080516020612e608339815191526118b2565b9055600080516020612e0083398151915254600019810190811161182a57806122ff81600080516020612e608339815191526118b2565b90549060031b1c915b612345575b5050805462ff00001916620100001790557f29f36ec8a2b19bc5e39f76100efde77d3f83cac119a543e93db46fe1841afcac600080a2565b600019810181811161182a5760011c908261236e83600080516020612e608339815191526118b2565b90549060031b1c101561239a576123949082600080516020612e00833981519152612d47565b80612308565b5061230d565b6123a983611e65565b612222565b6123b781611771565b6123bf611907565b5060ff6001806123d16101a3866117e3565b5114920154168061255b575b8080612553575b1561249c5750506001600160a01b0381161561248b57612486816124287fcede7a9903c07d938c75644b6e38f7950ae1d362fca0fc61c99f2496ec9e992193611da5565b612440600080516020612e808339815191525461181c565b600080516020612e8083398151915255612459816117e3565b612463815461181c565b9055604080516001600160a01b0390921682526001602083015290918291820190565b0390a1565b633cb3768360e11b60005260046000fd5b15908161254b575b506124ac5750565b6124b5816117e3565b805480600111612521575081612486916124ef7f4b171f7fc0550bd6b41ba56e9b2b88100206431510ba9427518f3485198db36d94611da5565b612507600080516020612e808339815191525461184d565b600080516020612e8083398151915255612463815461184d565b635512b78760e11b60009081526001600160a01b0384166004526024919091526001604452606490fd5b9050386124a4565b5081156123e4565b50612565826119cb565b6123dd565b906000602091828151910182855af1156106f0576000513d6125bc57506001600160a01b0381163b155b61259b5750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415612594565b604051906125d46040836116f4565b6012825271736c632e67656e6572616c2e64616f534c4360701b6020830152565b600080516020612f20833981519152546001600160a01b03169061261c6020611d036125c5565b0381865afa60009181612638575b50611bd25782611bb56125c5565b61265291925060203d6020116106e9576106da81836116f4565b903861262a565b604051906126686040836116f4565b601a82527f736c632e6578656375746f72732e6d696e696d756d5374616b650000000000006020830152565b600080516020612f20833981519152546001600160a01b0316906126bb6020611b79612659565b0381865afa600091816126d7575b50611bd25782611bb5612659565b9091506020813d602011612703575b816126f3602093836116f4565b810103126101cb575190386126c9565b3d91506126e6565b61271481611e65565b61271d8161205d565b7f94d5f8fed46404c29bf6a1036d85ff01d8321e80d465066970836567e49d9481602061274983611771565b546040519081526001600160a01b0390931692a2565b600080516020612e40833981519152541561279757600080516020612e40833981519152600090805415611ef1578152602090205490565b6363c3654960e01b60005260046000fd5b805480156127d15760001901906127bf82826118b2565b8154906000199060031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b600080516020612e40833981519152548015612a3b576000199160005b828110612a42575b50506000198214612a3b57600019810190811161182a57808214612a065761287e9061284681600080516020612e408339815191526118b2565b90549060031b1c61286861212685600080516020612e408339815191526118b2565b9055600080516020612de08339815191526118b2565b90549060031b1c6128a061212683600080516020612de08339815191526118b2565b90556128b9600080516020612e408339815191526127a8565b6128d0600080516020612de08339815191526127a8565b600080516020612de0833981519152549080918160011b908282046002148315171561182a576001820180831161182a57818110806129c1575b6129b9575b506000600283018093116129a55750811080612960575b612958575b508181146129515761294c9082600080516020612e40833981519152612d47565b6128d0565b5050600190565b91503861292b565b5061297981600080516020612de08339815191526118b2565b90549060031b1c61299884600080516020612de08339815191526118b2565b90549060031b1c10612926565b634e487b7160e01b81526011600452602490fd5b93503861290f565b506129da81600080516020612de08339815191526118b2565b90549060031b1c6129f985600080516020612de08339815191526118b2565b90549060031b1c1061290a565b5050612a1f600080516020612e408339815191526127a8565b612a36600080516020612de08339815191526127a8565b600190565b5050600090565b81612a5b82600080516020612e408339815191526118b2565b90549060031b1c14612a6f57600101612804565b92503890508061280c565b600080516020612e00833981519152548015612a3b576000199160005b828110612cae575b50506000198214612a3b57600019810190811161182a57808214612c7e57612b1190612ad981600080516020612e008339815191526118b2565b90549060031b1c612afb61212685600080516020612e008339815191526118b2565b9055600080516020612e608339815191526118b2565b90549060031b1c612b3361212683600080516020612e608339815191526118b2565b9055612b4c600080516020612e008339815191526127a8565b612b63600080516020612e608339815191526127a8565b600080516020612e60833981519152549080918160011b908282046002148315171561182a576001820180831161182a5781811080612c39575b612c31575b506000600283018093116129a55750811080612bec575b612be4575b5081811461295157612bdf9082600080516020612e00833981519152612d47565b612b63565b915038612bbe565b50612c0581600080516020612e608339815191526118b2565b90549060031b1c612c2484600080516020612e608339815191526118b2565b90549060031b1c10612bb9565b935038612ba2565b50612c5281600080516020612e608339815191526118b2565b90549060031b1c612c7185600080516020612e608339815191526118b2565b90549060031b1c10612b9d565b5050612c97600080516020612e008339815191526127a8565b612a36600080516020612e608339815191526127a8565b81612cc782600080516020612e008339815191526118b2565b90549060031b1c14612cdb57600101612a97565b925038905080612a9f565b90612d0c5750805115612cfb57805190602001fd5b63d6bda27560e01b60005260046000fd5b81511580612d3e575b612d1d575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b15612d15565b6001810192612ddb9291612da6612d5e83836118b2565b90549060031b1c83612d7086856118b2565b90549060031b1c612d8f612126612d8789886118b2565b9490976118b2565b905583549060031b91821b91600019901b19161790565b9055612db281856118b2565b90549060031b1c91612d8f612126612d87612dcd84896118b2565b90549060031b1c93886118b2565b905556fe84b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0684b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0784b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0384b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0584b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae083787c5369be7468820c1967d258d594c4479f12333b91d3edff0bcbb43e7bf8f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc84b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae043787c5369be7468820c1967d258d594c4479f12333b91d3edff0bcbb43e7bf9084b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae0184b429261479e61afa83fbf020317b3fd4401958ce5dd91d22b08cd00ea3ae023787c5369be7468820c1967d258d594c4479f12333b91d3edff0bcbb43e7bf91f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a164736f6c634300081e000a";
1191
+
1192
+ type ExecutorsRegistryConstructorParams =
1193
+ | [signer?: Signer]
1194
+ | ConstructorParameters<typeof ContractFactory>;
1195
+
1196
+ const isSuperArgs = (
1197
+ xs: ExecutorsRegistryConstructorParams
1198
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1199
+
1200
+ export class ExecutorsRegistry__factory extends ContractFactory {
1201
+ constructor(...args: ExecutorsRegistryConstructorParams) {
1202
+ if (isSuperArgs(args)) {
1203
+ super(...args);
1204
+ } else {
1205
+ super(_abi, _bytecode, args[0]);
1206
+ }
1207
+ this.contractName = "ExecutorsRegistry";
1208
+ }
1209
+
1210
+ override getDeployTransaction(
1211
+ overrides?: NonPayableOverrides & { from?: string }
1212
+ ): Promise<ContractDeployTransaction> {
1213
+ return super.getDeployTransaction(overrides || {});
1214
+ }
1215
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
1216
+ return super.deploy(overrides || {}) as Promise<
1217
+ ExecutorsRegistry & {
1218
+ deploymentTransaction(): ContractTransactionResponse;
1219
+ }
1220
+ >;
1221
+ }
1222
+ override connect(runner: ContractRunner | null): ExecutorsRegistry__factory {
1223
+ return super.connect(runner) as ExecutorsRegistry__factory;
1224
+ }
1225
+ static readonly contractName: "ExecutorsRegistry";
1226
+
1227
+ public readonly contractName: "ExecutorsRegistry";
1228
+
1229
+ static readonly bytecode = _bytecode;
1230
+ static readonly abi = _abi;
1231
+ static createInterface(): ExecutorsRegistryInterface {
1232
+ return new Interface(_abi) as ExecutorsRegistryInterface;
1233
+ }
1234
+ static connect(
1235
+ address: string,
1236
+ runner?: ContractRunner | null
1237
+ ): ExecutorsRegistry {
1238
+ return new Contract(address, _abi, runner) as unknown as ExecutorsRegistry;
1239
+ }
1240
+ }