@towns-protocol/generated 0.0.229 → 0.0.231

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.
@@ -0,0 +1,1351 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { PromiseOrValue } from "../../common";
7
+ import type { Towns, TownsInterface, ITownsBase } from "../../mainnet/Towns";
8
+
9
+ const _abi = [
10
+ {
11
+ type: "constructor",
12
+ inputs: [
13
+ {
14
+ name: "vault",
15
+ type: "address",
16
+ internalType: "address",
17
+ },
18
+ {
19
+ name: "manager",
20
+ type: "address",
21
+ internalType: "address",
22
+ },
23
+ {
24
+ name: "config",
25
+ type: "tuple",
26
+ internalType: "struct ITownsBase.InflationConfig",
27
+ components: [
28
+ {
29
+ name: "initialMintTime",
30
+ type: "uint256",
31
+ internalType: "uint256",
32
+ },
33
+ {
34
+ name: "initialInflationRate",
35
+ type: "uint256",
36
+ internalType: "uint256",
37
+ },
38
+ {
39
+ name: "finalInflationRate",
40
+ type: "uint256",
41
+ internalType: "uint256",
42
+ },
43
+ {
44
+ name: "finalInflationYears",
45
+ type: "uint256",
46
+ internalType: "uint256",
47
+ },
48
+ {
49
+ name: "inflationDecayRate",
50
+ type: "uint256",
51
+ internalType: "uint256",
52
+ },
53
+ {
54
+ name: "inflationReceiver",
55
+ type: "address",
56
+ internalType: "address",
57
+ },
58
+ ],
59
+ },
60
+ ],
61
+ stateMutability: "nonpayable",
62
+ },
63
+ {
64
+ type: "function",
65
+ name: "CLOCK_MODE",
66
+ inputs: [],
67
+ outputs: [
68
+ {
69
+ name: "",
70
+ type: "string",
71
+ internalType: "string",
72
+ },
73
+ ],
74
+ stateMutability: "pure",
75
+ },
76
+ {
77
+ type: "function",
78
+ name: "DOMAIN_SEPARATOR",
79
+ inputs: [],
80
+ outputs: [
81
+ {
82
+ name: "result",
83
+ type: "bytes32",
84
+ internalType: "bytes32",
85
+ },
86
+ ],
87
+ stateMutability: "view",
88
+ },
89
+ {
90
+ type: "function",
91
+ name: "ROLE_INFLATION_MANAGER",
92
+ inputs: [],
93
+ outputs: [
94
+ {
95
+ name: "",
96
+ type: "uint256",
97
+ internalType: "uint256",
98
+ },
99
+ ],
100
+ stateMutability: "view",
101
+ },
102
+ {
103
+ type: "function",
104
+ name: "ROLE_INFLATION_RATE_MANAGER",
105
+ inputs: [],
106
+ outputs: [
107
+ {
108
+ name: "",
109
+ type: "uint256",
110
+ internalType: "uint256",
111
+ },
112
+ ],
113
+ stateMutability: "view",
114
+ },
115
+ {
116
+ type: "function",
117
+ name: "allowance",
118
+ inputs: [
119
+ {
120
+ name: "owner",
121
+ type: "address",
122
+ internalType: "address",
123
+ },
124
+ {
125
+ name: "spender",
126
+ type: "address",
127
+ internalType: "address",
128
+ },
129
+ ],
130
+ outputs: [
131
+ {
132
+ name: "result",
133
+ type: "uint256",
134
+ internalType: "uint256",
135
+ },
136
+ ],
137
+ stateMutability: "view",
138
+ },
139
+ {
140
+ type: "function",
141
+ name: "approve",
142
+ inputs: [
143
+ {
144
+ name: "spender",
145
+ type: "address",
146
+ internalType: "address",
147
+ },
148
+ {
149
+ name: "amount",
150
+ type: "uint256",
151
+ internalType: "uint256",
152
+ },
153
+ ],
154
+ outputs: [
155
+ {
156
+ name: "",
157
+ type: "bool",
158
+ internalType: "bool",
159
+ },
160
+ ],
161
+ stateMutability: "nonpayable",
162
+ },
163
+ {
164
+ type: "function",
165
+ name: "balanceOf",
166
+ inputs: [
167
+ {
168
+ name: "owner",
169
+ type: "address",
170
+ internalType: "address",
171
+ },
172
+ ],
173
+ outputs: [
174
+ {
175
+ name: "result",
176
+ type: "uint256",
177
+ internalType: "uint256",
178
+ },
179
+ ],
180
+ stateMutability: "view",
181
+ },
182
+ {
183
+ type: "function",
184
+ name: "cancelOwnershipHandover",
185
+ inputs: [],
186
+ outputs: [],
187
+ stateMutability: "payable",
188
+ },
189
+ {
190
+ type: "function",
191
+ name: "checkpointAt",
192
+ inputs: [
193
+ {
194
+ name: "account",
195
+ type: "address",
196
+ internalType: "address",
197
+ },
198
+ {
199
+ name: "i",
200
+ type: "uint256",
201
+ internalType: "uint256",
202
+ },
203
+ ],
204
+ outputs: [
205
+ {
206
+ name: "checkpointClock",
207
+ type: "uint48",
208
+ internalType: "uint48",
209
+ },
210
+ {
211
+ name: "checkpointValue",
212
+ type: "uint256",
213
+ internalType: "uint256",
214
+ },
215
+ ],
216
+ stateMutability: "view",
217
+ },
218
+ {
219
+ type: "function",
220
+ name: "checkpointCount",
221
+ inputs: [
222
+ {
223
+ name: "account",
224
+ type: "address",
225
+ internalType: "address",
226
+ },
227
+ ],
228
+ outputs: [
229
+ {
230
+ name: "result",
231
+ type: "uint256",
232
+ internalType: "uint256",
233
+ },
234
+ ],
235
+ stateMutability: "view",
236
+ },
237
+ {
238
+ type: "function",
239
+ name: "clock",
240
+ inputs: [],
241
+ outputs: [
242
+ {
243
+ name: "",
244
+ type: "uint48",
245
+ internalType: "uint48",
246
+ },
247
+ ],
248
+ stateMutability: "view",
249
+ },
250
+ {
251
+ type: "function",
252
+ name: "completeOwnershipHandover",
253
+ inputs: [
254
+ {
255
+ name: "pendingOwner",
256
+ type: "address",
257
+ internalType: "address",
258
+ },
259
+ ],
260
+ outputs: [],
261
+ stateMutability: "payable",
262
+ },
263
+ {
264
+ type: "function",
265
+ name: "createInflation",
266
+ inputs: [],
267
+ outputs: [],
268
+ stateMutability: "nonpayable",
269
+ },
270
+ {
271
+ type: "function",
272
+ name: "currentInflationRate",
273
+ inputs: [],
274
+ outputs: [
275
+ {
276
+ name: "",
277
+ type: "uint256",
278
+ internalType: "uint256",
279
+ },
280
+ ],
281
+ stateMutability: "view",
282
+ },
283
+ {
284
+ type: "function",
285
+ name: "decimals",
286
+ inputs: [],
287
+ outputs: [
288
+ {
289
+ name: "",
290
+ type: "uint8",
291
+ internalType: "uint8",
292
+ },
293
+ ],
294
+ stateMutability: "view",
295
+ },
296
+ {
297
+ type: "function",
298
+ name: "delegate",
299
+ inputs: [
300
+ {
301
+ name: "delegatee",
302
+ type: "address",
303
+ internalType: "address",
304
+ },
305
+ ],
306
+ outputs: [],
307
+ stateMutability: "nonpayable",
308
+ },
309
+ {
310
+ type: "function",
311
+ name: "delegateBySig",
312
+ inputs: [
313
+ {
314
+ name: "delegatee",
315
+ type: "address",
316
+ internalType: "address",
317
+ },
318
+ {
319
+ name: "nonce",
320
+ type: "uint256",
321
+ internalType: "uint256",
322
+ },
323
+ {
324
+ name: "expiry",
325
+ type: "uint256",
326
+ internalType: "uint256",
327
+ },
328
+ {
329
+ name: "v",
330
+ type: "uint8",
331
+ internalType: "uint8",
332
+ },
333
+ {
334
+ name: "r",
335
+ type: "bytes32",
336
+ internalType: "bytes32",
337
+ },
338
+ {
339
+ name: "s",
340
+ type: "bytes32",
341
+ internalType: "bytes32",
342
+ },
343
+ ],
344
+ outputs: [],
345
+ stateMutability: "nonpayable",
346
+ },
347
+ {
348
+ type: "function",
349
+ name: "delegates",
350
+ inputs: [
351
+ {
352
+ name: "delegator",
353
+ type: "address",
354
+ internalType: "address",
355
+ },
356
+ ],
357
+ outputs: [
358
+ {
359
+ name: "result",
360
+ type: "address",
361
+ internalType: "address",
362
+ },
363
+ ],
364
+ stateMutability: "view",
365
+ },
366
+ {
367
+ type: "function",
368
+ name: "finalInflationRate",
369
+ inputs: [],
370
+ outputs: [
371
+ {
372
+ name: "",
373
+ type: "uint256",
374
+ internalType: "uint256",
375
+ },
376
+ ],
377
+ stateMutability: "view",
378
+ },
379
+ {
380
+ type: "function",
381
+ name: "getDelegationTimeForDelegator",
382
+ inputs: [
383
+ {
384
+ name: "delegator",
385
+ type: "address",
386
+ internalType: "address",
387
+ },
388
+ ],
389
+ outputs: [
390
+ {
391
+ name: "",
392
+ type: "uint256",
393
+ internalType: "uint256",
394
+ },
395
+ ],
396
+ stateMutability: "view",
397
+ },
398
+ {
399
+ type: "function",
400
+ name: "getDelegators",
401
+ inputs: [],
402
+ outputs: [
403
+ {
404
+ name: "",
405
+ type: "address[]",
406
+ internalType: "address[]",
407
+ },
408
+ ],
409
+ stateMutability: "view",
410
+ },
411
+ {
412
+ type: "function",
413
+ name: "getDelegatorsByDelegatee",
414
+ inputs: [
415
+ {
416
+ name: "delegatee",
417
+ type: "address",
418
+ internalType: "address",
419
+ },
420
+ ],
421
+ outputs: [
422
+ {
423
+ name: "",
424
+ type: "address[]",
425
+ internalType: "address[]",
426
+ },
427
+ ],
428
+ stateMutability: "view",
429
+ },
430
+ {
431
+ type: "function",
432
+ name: "getDelegatorsCount",
433
+ inputs: [],
434
+ outputs: [
435
+ {
436
+ name: "",
437
+ type: "uint256",
438
+ internalType: "uint256",
439
+ },
440
+ ],
441
+ stateMutability: "view",
442
+ },
443
+ {
444
+ type: "function",
445
+ name: "getPaginatedDelegators",
446
+ inputs: [
447
+ {
448
+ name: "cursor",
449
+ type: "uint256",
450
+ internalType: "uint256",
451
+ },
452
+ {
453
+ name: "size",
454
+ type: "uint256",
455
+ internalType: "uint256",
456
+ },
457
+ ],
458
+ outputs: [
459
+ {
460
+ name: "delegators",
461
+ type: "address[]",
462
+ internalType: "address[]",
463
+ },
464
+ {
465
+ name: "next",
466
+ type: "uint256",
467
+ internalType: "uint256",
468
+ },
469
+ ],
470
+ stateMutability: "view",
471
+ },
472
+ {
473
+ type: "function",
474
+ name: "getPastVotes",
475
+ inputs: [
476
+ {
477
+ name: "account",
478
+ type: "address",
479
+ internalType: "address",
480
+ },
481
+ {
482
+ name: "timepoint",
483
+ type: "uint256",
484
+ internalType: "uint256",
485
+ },
486
+ ],
487
+ outputs: [
488
+ {
489
+ name: "",
490
+ type: "uint256",
491
+ internalType: "uint256",
492
+ },
493
+ ],
494
+ stateMutability: "view",
495
+ },
496
+ {
497
+ type: "function",
498
+ name: "getPastVotesTotalSupply",
499
+ inputs: [
500
+ {
501
+ name: "timepoint",
502
+ type: "uint256",
503
+ internalType: "uint256",
504
+ },
505
+ ],
506
+ outputs: [
507
+ {
508
+ name: "",
509
+ type: "uint256",
510
+ internalType: "uint256",
511
+ },
512
+ ],
513
+ stateMutability: "view",
514
+ },
515
+ {
516
+ type: "function",
517
+ name: "getVotes",
518
+ inputs: [
519
+ {
520
+ name: "account",
521
+ type: "address",
522
+ internalType: "address",
523
+ },
524
+ ],
525
+ outputs: [
526
+ {
527
+ name: "",
528
+ type: "uint256",
529
+ internalType: "uint256",
530
+ },
531
+ ],
532
+ stateMutability: "view",
533
+ },
534
+ {
535
+ type: "function",
536
+ name: "getVotesTotalSupply",
537
+ inputs: [],
538
+ outputs: [
539
+ {
540
+ name: "",
541
+ type: "uint256",
542
+ internalType: "uint256",
543
+ },
544
+ ],
545
+ stateMutability: "view",
546
+ },
547
+ {
548
+ type: "function",
549
+ name: "grantRoles",
550
+ inputs: [
551
+ {
552
+ name: "user",
553
+ type: "address",
554
+ internalType: "address",
555
+ },
556
+ {
557
+ name: "roles",
558
+ type: "uint256",
559
+ internalType: "uint256",
560
+ },
561
+ ],
562
+ outputs: [],
563
+ stateMutability: "payable",
564
+ },
565
+ {
566
+ type: "function",
567
+ name: "hasAllRoles",
568
+ inputs: [
569
+ {
570
+ name: "user",
571
+ type: "address",
572
+ internalType: "address",
573
+ },
574
+ {
575
+ name: "roles",
576
+ type: "uint256",
577
+ internalType: "uint256",
578
+ },
579
+ ],
580
+ outputs: [
581
+ {
582
+ name: "",
583
+ type: "bool",
584
+ internalType: "bool",
585
+ },
586
+ ],
587
+ stateMutability: "view",
588
+ },
589
+ {
590
+ type: "function",
591
+ name: "hasAnyRole",
592
+ inputs: [
593
+ {
594
+ name: "user",
595
+ type: "address",
596
+ internalType: "address",
597
+ },
598
+ {
599
+ name: "roles",
600
+ type: "uint256",
601
+ internalType: "uint256",
602
+ },
603
+ ],
604
+ outputs: [
605
+ {
606
+ name: "",
607
+ type: "bool",
608
+ internalType: "bool",
609
+ },
610
+ ],
611
+ stateMutability: "view",
612
+ },
613
+ {
614
+ type: "function",
615
+ name: "inflationReceiver",
616
+ inputs: [],
617
+ outputs: [
618
+ {
619
+ name: "",
620
+ type: "address",
621
+ internalType: "address",
622
+ },
623
+ ],
624
+ stateMutability: "view",
625
+ },
626
+ {
627
+ type: "function",
628
+ name: "initialMintTime",
629
+ inputs: [],
630
+ outputs: [
631
+ {
632
+ name: "",
633
+ type: "uint256",
634
+ internalType: "uint256",
635
+ },
636
+ ],
637
+ stateMutability: "view",
638
+ },
639
+ {
640
+ type: "function",
641
+ name: "lastMintTime",
642
+ inputs: [],
643
+ outputs: [
644
+ {
645
+ name: "",
646
+ type: "uint256",
647
+ internalType: "uint256",
648
+ },
649
+ ],
650
+ stateMutability: "view",
651
+ },
652
+ {
653
+ type: "function",
654
+ name: "mintInitialSupply",
655
+ inputs: [
656
+ {
657
+ name: "to",
658
+ type: "address",
659
+ internalType: "address",
660
+ },
661
+ ],
662
+ outputs: [],
663
+ stateMutability: "nonpayable",
664
+ },
665
+ {
666
+ type: "function",
667
+ name: "name",
668
+ inputs: [],
669
+ outputs: [
670
+ {
671
+ name: "",
672
+ type: "string",
673
+ internalType: "string",
674
+ },
675
+ ],
676
+ stateMutability: "pure",
677
+ },
678
+ {
679
+ type: "function",
680
+ name: "nonces",
681
+ inputs: [
682
+ {
683
+ name: "owner",
684
+ type: "address",
685
+ internalType: "address",
686
+ },
687
+ ],
688
+ outputs: [
689
+ {
690
+ name: "result",
691
+ type: "uint256",
692
+ internalType: "uint256",
693
+ },
694
+ ],
695
+ stateMutability: "view",
696
+ },
697
+ {
698
+ type: "function",
699
+ name: "owner",
700
+ inputs: [],
701
+ outputs: [
702
+ {
703
+ name: "result",
704
+ type: "address",
705
+ internalType: "address",
706
+ },
707
+ ],
708
+ stateMutability: "view",
709
+ },
710
+ {
711
+ type: "function",
712
+ name: "ownershipHandoverExpiresAt",
713
+ inputs: [
714
+ {
715
+ name: "pendingOwner",
716
+ type: "address",
717
+ internalType: "address",
718
+ },
719
+ ],
720
+ outputs: [
721
+ {
722
+ name: "result",
723
+ type: "uint256",
724
+ internalType: "uint256",
725
+ },
726
+ ],
727
+ stateMutability: "view",
728
+ },
729
+ {
730
+ type: "function",
731
+ name: "permit",
732
+ inputs: [
733
+ {
734
+ name: "owner",
735
+ type: "address",
736
+ internalType: "address",
737
+ },
738
+ {
739
+ name: "spender",
740
+ type: "address",
741
+ internalType: "address",
742
+ },
743
+ {
744
+ name: "value",
745
+ type: "uint256",
746
+ internalType: "uint256",
747
+ },
748
+ {
749
+ name: "deadline",
750
+ type: "uint256",
751
+ internalType: "uint256",
752
+ },
753
+ {
754
+ name: "v",
755
+ type: "uint8",
756
+ internalType: "uint8",
757
+ },
758
+ {
759
+ name: "r",
760
+ type: "bytes32",
761
+ internalType: "bytes32",
762
+ },
763
+ {
764
+ name: "s",
765
+ type: "bytes32",
766
+ internalType: "bytes32",
767
+ },
768
+ ],
769
+ outputs: [],
770
+ stateMutability: "nonpayable",
771
+ },
772
+ {
773
+ type: "function",
774
+ name: "renounceOwnership",
775
+ inputs: [],
776
+ outputs: [],
777
+ stateMutability: "payable",
778
+ },
779
+ {
780
+ type: "function",
781
+ name: "renounceRoles",
782
+ inputs: [
783
+ {
784
+ name: "roles",
785
+ type: "uint256",
786
+ internalType: "uint256",
787
+ },
788
+ ],
789
+ outputs: [],
790
+ stateMutability: "payable",
791
+ },
792
+ {
793
+ type: "function",
794
+ name: "requestOwnershipHandover",
795
+ inputs: [],
796
+ outputs: [],
797
+ stateMutability: "payable",
798
+ },
799
+ {
800
+ type: "function",
801
+ name: "revokeRoles",
802
+ inputs: [
803
+ {
804
+ name: "user",
805
+ type: "address",
806
+ internalType: "address",
807
+ },
808
+ {
809
+ name: "roles",
810
+ type: "uint256",
811
+ internalType: "uint256",
812
+ },
813
+ ],
814
+ outputs: [],
815
+ stateMutability: "payable",
816
+ },
817
+ {
818
+ type: "function",
819
+ name: "rolesOf",
820
+ inputs: [
821
+ {
822
+ name: "user",
823
+ type: "address",
824
+ internalType: "address",
825
+ },
826
+ ],
827
+ outputs: [
828
+ {
829
+ name: "roles",
830
+ type: "uint256",
831
+ internalType: "uint256",
832
+ },
833
+ ],
834
+ stateMutability: "view",
835
+ },
836
+ {
837
+ type: "function",
838
+ name: "setInflationReceiver",
839
+ inputs: [
840
+ {
841
+ name: "receiver",
842
+ type: "address",
843
+ internalType: "address",
844
+ },
845
+ ],
846
+ outputs: [],
847
+ stateMutability: "nonpayable",
848
+ },
849
+ {
850
+ type: "function",
851
+ name: "setOverrideInflation",
852
+ inputs: [
853
+ {
854
+ name: "overrideInflation",
855
+ type: "bool",
856
+ internalType: "bool",
857
+ },
858
+ {
859
+ name: "overrideInflationRate",
860
+ type: "uint256",
861
+ internalType: "uint256",
862
+ },
863
+ ],
864
+ outputs: [],
865
+ stateMutability: "nonpayable",
866
+ },
867
+ {
868
+ type: "function",
869
+ name: "supportsInterface",
870
+ inputs: [
871
+ {
872
+ name: "interfaceId",
873
+ type: "bytes4",
874
+ internalType: "bytes4",
875
+ },
876
+ ],
877
+ outputs: [
878
+ {
879
+ name: "",
880
+ type: "bool",
881
+ internalType: "bool",
882
+ },
883
+ ],
884
+ stateMutability: "view",
885
+ },
886
+ {
887
+ type: "function",
888
+ name: "symbol",
889
+ inputs: [],
890
+ outputs: [
891
+ {
892
+ name: "",
893
+ type: "string",
894
+ internalType: "string",
895
+ },
896
+ ],
897
+ stateMutability: "pure",
898
+ },
899
+ {
900
+ type: "function",
901
+ name: "totalSupply",
902
+ inputs: [],
903
+ outputs: [
904
+ {
905
+ name: "result",
906
+ type: "uint256",
907
+ internalType: "uint256",
908
+ },
909
+ ],
910
+ stateMutability: "view",
911
+ },
912
+ {
913
+ type: "function",
914
+ name: "transfer",
915
+ inputs: [
916
+ {
917
+ name: "to",
918
+ type: "address",
919
+ internalType: "address",
920
+ },
921
+ {
922
+ name: "amount",
923
+ type: "uint256",
924
+ internalType: "uint256",
925
+ },
926
+ ],
927
+ outputs: [
928
+ {
929
+ name: "",
930
+ type: "bool",
931
+ internalType: "bool",
932
+ },
933
+ ],
934
+ stateMutability: "nonpayable",
935
+ },
936
+ {
937
+ type: "function",
938
+ name: "transferFrom",
939
+ inputs: [
940
+ {
941
+ name: "from",
942
+ type: "address",
943
+ internalType: "address",
944
+ },
945
+ {
946
+ name: "to",
947
+ type: "address",
948
+ internalType: "address",
949
+ },
950
+ {
951
+ name: "amount",
952
+ type: "uint256",
953
+ internalType: "uint256",
954
+ },
955
+ ],
956
+ outputs: [
957
+ {
958
+ name: "",
959
+ type: "bool",
960
+ internalType: "bool",
961
+ },
962
+ ],
963
+ stateMutability: "nonpayable",
964
+ },
965
+ {
966
+ type: "function",
967
+ name: "transferOwnership",
968
+ inputs: [
969
+ {
970
+ name: "newOwner",
971
+ type: "address",
972
+ internalType: "address",
973
+ },
974
+ ],
975
+ outputs: [],
976
+ stateMutability: "payable",
977
+ },
978
+ {
979
+ type: "event",
980
+ name: "Approval",
981
+ inputs: [
982
+ {
983
+ name: "owner",
984
+ type: "address",
985
+ indexed: true,
986
+ internalType: "address",
987
+ },
988
+ {
989
+ name: "spender",
990
+ type: "address",
991
+ indexed: true,
992
+ internalType: "address",
993
+ },
994
+ {
995
+ name: "amount",
996
+ type: "uint256",
997
+ indexed: false,
998
+ internalType: "uint256",
999
+ },
1000
+ ],
1001
+ anonymous: false,
1002
+ },
1003
+ {
1004
+ type: "event",
1005
+ name: "DelegateChanged",
1006
+ inputs: [
1007
+ {
1008
+ name: "delegator",
1009
+ type: "address",
1010
+ indexed: true,
1011
+ internalType: "address",
1012
+ },
1013
+ {
1014
+ name: "from",
1015
+ type: "address",
1016
+ indexed: true,
1017
+ internalType: "address",
1018
+ },
1019
+ {
1020
+ name: "to",
1021
+ type: "address",
1022
+ indexed: true,
1023
+ internalType: "address",
1024
+ },
1025
+ ],
1026
+ anonymous: false,
1027
+ },
1028
+ {
1029
+ type: "event",
1030
+ name: "DelegateVotesChanged",
1031
+ inputs: [
1032
+ {
1033
+ name: "delegate",
1034
+ type: "address",
1035
+ indexed: true,
1036
+ internalType: "address",
1037
+ },
1038
+ {
1039
+ name: "oldValue",
1040
+ type: "uint256",
1041
+ indexed: false,
1042
+ internalType: "uint256",
1043
+ },
1044
+ {
1045
+ name: "newValue",
1046
+ type: "uint256",
1047
+ indexed: false,
1048
+ internalType: "uint256",
1049
+ },
1050
+ ],
1051
+ anonymous: false,
1052
+ },
1053
+ {
1054
+ type: "event",
1055
+ name: "InterfaceAdded",
1056
+ inputs: [
1057
+ {
1058
+ name: "interfaceId",
1059
+ type: "bytes4",
1060
+ indexed: true,
1061
+ internalType: "bytes4",
1062
+ },
1063
+ ],
1064
+ anonymous: false,
1065
+ },
1066
+ {
1067
+ type: "event",
1068
+ name: "InterfaceRemoved",
1069
+ inputs: [
1070
+ {
1071
+ name: "interfaceId",
1072
+ type: "bytes4",
1073
+ indexed: true,
1074
+ internalType: "bytes4",
1075
+ },
1076
+ ],
1077
+ anonymous: false,
1078
+ },
1079
+ {
1080
+ type: "event",
1081
+ name: "OwnershipHandoverCanceled",
1082
+ inputs: [
1083
+ {
1084
+ name: "pendingOwner",
1085
+ type: "address",
1086
+ indexed: true,
1087
+ internalType: "address",
1088
+ },
1089
+ ],
1090
+ anonymous: false,
1091
+ },
1092
+ {
1093
+ type: "event",
1094
+ name: "OwnershipHandoverRequested",
1095
+ inputs: [
1096
+ {
1097
+ name: "pendingOwner",
1098
+ type: "address",
1099
+ indexed: true,
1100
+ internalType: "address",
1101
+ },
1102
+ ],
1103
+ anonymous: false,
1104
+ },
1105
+ {
1106
+ type: "event",
1107
+ name: "OwnershipTransferred",
1108
+ inputs: [
1109
+ {
1110
+ name: "oldOwner",
1111
+ type: "address",
1112
+ indexed: true,
1113
+ internalType: "address",
1114
+ },
1115
+ {
1116
+ name: "newOwner",
1117
+ type: "address",
1118
+ indexed: true,
1119
+ internalType: "address",
1120
+ },
1121
+ ],
1122
+ anonymous: false,
1123
+ },
1124
+ {
1125
+ type: "event",
1126
+ name: "RolesUpdated",
1127
+ inputs: [
1128
+ {
1129
+ name: "user",
1130
+ type: "address",
1131
+ indexed: true,
1132
+ internalType: "address",
1133
+ },
1134
+ {
1135
+ name: "roles",
1136
+ type: "uint256",
1137
+ indexed: true,
1138
+ internalType: "uint256",
1139
+ },
1140
+ ],
1141
+ anonymous: false,
1142
+ },
1143
+ {
1144
+ type: "event",
1145
+ name: "Transfer",
1146
+ inputs: [
1147
+ {
1148
+ name: "from",
1149
+ type: "address",
1150
+ indexed: true,
1151
+ internalType: "address",
1152
+ },
1153
+ {
1154
+ name: "to",
1155
+ type: "address",
1156
+ indexed: true,
1157
+ internalType: "address",
1158
+ },
1159
+ {
1160
+ name: "amount",
1161
+ type: "uint256",
1162
+ indexed: false,
1163
+ internalType: "uint256",
1164
+ },
1165
+ ],
1166
+ anonymous: false,
1167
+ },
1168
+ {
1169
+ type: "error",
1170
+ name: "AllowanceOverflow",
1171
+ inputs: [],
1172
+ },
1173
+ {
1174
+ type: "error",
1175
+ name: "AllowanceUnderflow",
1176
+ inputs: [],
1177
+ },
1178
+ {
1179
+ type: "error",
1180
+ name: "AlreadyInitialized",
1181
+ inputs: [],
1182
+ },
1183
+ {
1184
+ type: "error",
1185
+ name: "ERC5805CheckpointIndexOutOfBounds",
1186
+ inputs: [],
1187
+ },
1188
+ {
1189
+ type: "error",
1190
+ name: "ERC5805CheckpointValueOverflow",
1191
+ inputs: [],
1192
+ },
1193
+ {
1194
+ type: "error",
1195
+ name: "ERC5805CheckpointValueUnderflow",
1196
+ inputs: [],
1197
+ },
1198
+ {
1199
+ type: "error",
1200
+ name: "ERC5805DelegateInvalidSignature",
1201
+ inputs: [],
1202
+ },
1203
+ {
1204
+ type: "error",
1205
+ name: "ERC5805DelegateSignatureExpired",
1206
+ inputs: [],
1207
+ },
1208
+ {
1209
+ type: "error",
1210
+ name: "ERC5805FutureLookup",
1211
+ inputs: [],
1212
+ },
1213
+ {
1214
+ type: "error",
1215
+ name: "IndexOutOfBounds",
1216
+ inputs: [],
1217
+ },
1218
+ {
1219
+ type: "error",
1220
+ name: "InitialSupplyAlreadyMinted",
1221
+ inputs: [],
1222
+ },
1223
+ {
1224
+ type: "error",
1225
+ name: "InsufficientAllowance",
1226
+ inputs: [],
1227
+ },
1228
+ {
1229
+ type: "error",
1230
+ name: "InsufficientBalance",
1231
+ inputs: [],
1232
+ },
1233
+ {
1234
+ type: "error",
1235
+ name: "Introspection_AlreadySupported",
1236
+ inputs: [],
1237
+ },
1238
+ {
1239
+ type: "error",
1240
+ name: "Introspection_NotSupported",
1241
+ inputs: [],
1242
+ },
1243
+ {
1244
+ type: "error",
1245
+ name: "InvalidAddress",
1246
+ inputs: [],
1247
+ },
1248
+ {
1249
+ type: "error",
1250
+ name: "InvalidInflationRate",
1251
+ inputs: [],
1252
+ },
1253
+ {
1254
+ type: "error",
1255
+ name: "InvalidPermit",
1256
+ inputs: [],
1257
+ },
1258
+ {
1259
+ type: "error",
1260
+ name: "MintingTooSoon",
1261
+ inputs: [],
1262
+ },
1263
+ {
1264
+ type: "error",
1265
+ name: "NewOwnerIsZeroAddress",
1266
+ inputs: [],
1267
+ },
1268
+ {
1269
+ type: "error",
1270
+ name: "NoHandoverRequest",
1271
+ inputs: [],
1272
+ },
1273
+ {
1274
+ type: "error",
1275
+ name: "Permit2AllowanceIsFixedAtInfinity",
1276
+ inputs: [],
1277
+ },
1278
+ {
1279
+ type: "error",
1280
+ name: "PermitExpired",
1281
+ inputs: [],
1282
+ },
1283
+ {
1284
+ type: "error",
1285
+ name: "TotalSupplyOverflow",
1286
+ inputs: [],
1287
+ },
1288
+ {
1289
+ type: "error",
1290
+ name: "Unauthorized",
1291
+ inputs: [],
1292
+ },
1293
+ ] as const;
1294
+
1295
+ const _bytecode =
1296
+ "0x60a060405234801561000f575f5ffd5b5060405161309b38038061309b83398101604081905261002e916103a6565b6001600160a01b038316158061004b57506001600160a01b038216155b156100605761006063e6c4247b60e01b610231565b60a08101516001600160a01b03166100825761008263e6c4247b60e01b610231565b61008b83610239565b610096836001610274565b6100a1826002610274565b6100b16397dc62f760e01b610284565b6100c16336372b0760e01b610284565b6100d163a219a02560e01b610284565b6100e1634ec7fbed60e11b610284565b6100f16352c665d960e01b610284565b6101016301ffc9a760e01b610284565b610111637487d9fb60e11b610284565b61012163da287a1d60e01b610284565b8051608090815281517f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af005560a08201517f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af0180546001600160a01b0319166001600160a01b0390921691909117905560208201517f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af025560408201517f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af03558101517f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af045560608101517f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af0555505050610464565b805f5260045ffd5b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b61028082826001610334565b5050565b6001600160e01b031981165f9081525f51602061307b5f395f51905f52602052604090205460ff166102e4576001600160e01b031981165f9081525f51602061307b5f395f51905f5260205260409020805460ff191660011790556102fd565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b638b78c6d8600c52825f526020600c20805483811783610355575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b80516001600160a01b03811681146103a1575f5ffd5b919050565b5f5f5f8385036101008112156103ba575f5ffd5b6103c38561038b565b93506103d16020860161038b565b925060c0603f19820112156103e4575f5ffd5b5060405160c081016001600160401b038111828210171561041357634e487b7160e01b5f52604160045260245ffd5b604090815285810151825260608087015160208401526080808801519284019290925260a08701519083015260c08601519082015261045460e0860161038b565b60a0820152809150509250925092565b608051612bf161048a5f395f8181610acb01528181610eb4015261118d0152612bf15ff3fe60806040526004361061033a575f3560e01c8063715018a6116101b2578063b7c178cb116100f2578063d505accf11610092578063f04e283e1161006d578063f04e283e14610a94578063f2fde38b14610aa7578063f64964ed14610aba578063fee81cf414610aed575f5ffd5b8063d505accf14610a37578063dd62ed3e14610a56578063e142254614610a75575f5ffd5b8063c6da2e5d116100cd578063c6da2e5d146109dc578063c7a2f1de146109f0578063caca168814610a0f578063cd63c4d214610a23575f5ffd5b8063b7c178cb1461098a578063c1ce0e9b146109a9578063c3cda520146109bd575f5ffd5b806391ddadf41161015d5780639d463520116101385780639d46352014610916578063a563c3d51461092a578063a9059cbb1461093e578063afaabdce1461095d575f5ffd5b806391ddadf41461089057806395d89b41146108b25780639ab24eb0146108f7575f5ffd5b806383a96e161161018d57806383a96e161461080c57806384a0e082146108205780638da5cb5b1461085d575f5ffd5b8063715018a61461079b57806376a82342146107a35780637ecebe00146107db575f5ffd5b8063303371f41161027d5780634bf5d7e911610228578063587cde1e11610203578063587cde1e146106ff5780635c19a95c1461072c5780635db532021461074b57806370a082311461076a575f5ffd5b80634bf5d7e91461067d578063514e62fc146106c257806354d1f13d146106f7575f5ffd5b80633a46b1a8116102585780633a46b1a81461061257806348984176146106315780634a4ee7b11461066a575f5ffd5b8063303371f414610519578063313ce5671461052d5780633644e51514610548575f5ffd5b80631b180447116102e857806323b872dd116102c357806323b872dd146104ad57806325692962146104cc5780632b51c58a146104d45780632de94807146104e8575f5ffd5b80631b180447146104465780631c10893f146104655780631cd64df414610478575f5ffd5b8063095ea7b311610318578063095ea7b3146103ec57806318160ddd1461040b578063183a4f6e14610431575f5ffd5b806301ffc9a71461033e57806306fdde031461037257806308cac051146103c0575b5f5ffd5b348015610349575f5ffd5b5061035d6103583660046127d5565b610b1e565b60405190151581526020015b60405180910390f35b34801561037d575f5ffd5b5060408051808201909152600581527f546f776e7300000000000000000000000000000000000000000000000000000060208201525b6040516103699190612814565b3480156103cb575f5ffd5b506103df6103da36600461288a565b610b78565b60405161036991906128f3565b3480156103f7575f5ffd5b5061035d610406366004612905565b610b83565b348015610416575f5ffd5b506805345cdf77eb68f44c545b604051908152602001610369565b61044461043f36600461292d565b610c0f565b005b348015610451575f5ffd5b5061044461046036600461288a565b610c1c565b610444610473366004612905565b610cd2565b348015610483575f5ffd5b5061035d610492366004612905565b638b78c6d8600c9081525f9290925260209091205481161490565b3480156104b8575f5ffd5b5061035d6104c7366004612944565b610ce4565b610444610dbe565b3480156104df575f5ffd5b50610423610e0b565b3480156104f3575f5ffd5b5061042361050236600461288a565b638b78c6d8600c9081525f91909152602090205490565b348015610524575f5ffd5b50610444610e39565b348015610538575f5ffd5b5060405160128152602001610369565b348015610553575f5ffd5b50604080518082018252600581527f546f776e7300000000000000000000000000000000000000000000000000000060209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527fa40fbb70ec34ea8f6c23cf82b55213860ae24ffafadff8e9ae4cb556f54d1958918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69181019190915246606082015230608082015260a09020610423565b34801561061d575f5ffd5b5061042361062c366004612905565b610f71565b34801561063c575f5ffd5b50610645610faf565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610369565b610444610678366004612905565b610fee565b348015610688575f5ffd5b5060408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201526103b3565b3480156106cd575f5ffd5b5061035d6106dc366004612905565b638b78c6d8600c9081525f9290925260209091205416151590565b610444611000565b34801561070a575f5ffd5b5061064561071936600461288a565b63ff466c9f6004525f526018600c205490565b348015610737575f5ffd5b5061044461074636600461288a565b611039565b348015610756575f5ffd5b5061044461076536600461288a565b611043565b348015610775575f5ffd5b5061042361078436600461288a565b6387a211a2600c9081525f91909152602090205490565b6104446110c1565b3480156107ae575f5ffd5b506104236107bd36600461288a565b63ff466c9f6004525f526017600c205460301c65ffffffffffff1690565b3480156107e6575f5ffd5b506104236107f536600461288a565b6338377508600c9081525f91909152602090205490565b348015610817575f5ffd5b506103df6110d4565b34801561082b575f5ffd5b5061083f61083a366004612905565b6110de565b6040805165ffffffffffff9093168352602083019190915201610369565b348015610868575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610645565b34801561089b575f5ffd5b5060405165ffffffffffff42168152602001610369565b3480156108bd575f5ffd5b5060408051808201909152600581527f544f574e5300000000000000000000000000000000000000000000000000000060208201526103b3565b348015610902575f5ffd5b5061042361091136600461288a565b61113f565b348015610921575f5ffd5b5061042361115e565b348015610935575f5ffd5b50610423611187565b348015610949575f5ffd5b5061035d610958366004612905565b6111b1565b348015610968575f5ffd5b5061097c61097736600461297e565b611233565b60405161036992919061299e565b348015610995575f5ffd5b506104236109a436600461288a565b61124c565b3480156109b4575f5ffd5b50610423611295565b3480156109c8575f5ffd5b506104446109d73660046129cf565b61129e565b3480156109e7575f5ffd5b50610423600281565b3480156109fb575f5ffd5b50610423610a0a36600461292d565b611447565b348015610a1a575f5ffd5b50610423600181565b348015610a2e575f5ffd5b50610423611479565b348015610a42575f5ffd5b50610444610a51366004612a23565b611493565b348015610a61575f5ffd5b50610423610a70366004612a89565b6116a9565b348015610a80575f5ffd5b50610444610a8f366004612aba565b611729565b610444610aa236600461288a565b6117ff565b610444610ab536600461288a565b611839565b348015610ac5575f5ffd5b506104237f000000000000000000000000000000000000000000000000000000000000000081565b348015610af8575f5ffd5b50610423610b0736600461288a565b63389a75e1600c9081525f91909152602090205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604081205460ff165b92915050565b6060610b728261185f565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba31882191517610bc157633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa350600192915050565b610c1933826118ae565b50565b6001610c27816118b9565b73ffffffffffffffffffffffffffffffffffffffff8216610c6b57610c6b7fe6c4247b000000000000000000000000000000000000000000000000000000006118dd565b7f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790555050565b5050565b610cda6118e5565b610cce828261191a565b5f8360601b6e22d473030f116ddee9f6b43ac78ba33314610d395733602052637f5e9f208117600c526034600c208054801915610d365780851115610d30576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c20805480851115610d5f5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350610db4848484611926565b5060019392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f610e347f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af035490565b905090565b6001610e44816118b9565b5f610e6d7f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af005490565b610e779042612b07565b90506301e13380811015610eae57610eae7ffe2bb169000000000000000000000000000000000000000000000000000000006118dd565b5f610ed87f0000000000000000000000000000000000000000000000000000000000000000611931565b90505f610ef5610eef6805345cdf77eb68f44c5490565b836119f6565b90505f610f367f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af015473ffffffffffffffffffffffffffffffffffffffff1690565b9050610f428183611aa4565b610f6a427f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af0055565b5050505050565b5f4265ffffffffffff168210610f8957610f89611b27565b610fa8610fa28463ff466c9f6004525f526017600c2090565b83611b34565b9392505050565b5f610e347f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af015473ffffffffffffffffffffffffffffffffffffffff1690565b610ff66118e5565b610cce82826118ae565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b610c193382611c02565b61104b6118e5565b5f5460ff161561107e5761107e7fdfa00f89000000000000000000000000000000000000000000000000000000006118dd565b611094816b204fce5e3e25026110000000611aa4565b505f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6110c96118e5565b6110d25f611c29565b565b6060610e34611c8e565b5f5f5f6110f78563ff466c9f6004525f526017600c2090565b9050805460a01b60d01c8410611114576386df9d105f526004601cfd5b8381015465ffffffffffff8116935060601c915030820361113757808401195491505b509250929050565b5f610b726111598363ff466c9f6004525f526017600c2090565b611cb9565b5f610e347f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af005490565b5f610e347f0000000000000000000000000000000000000000000000000000000000000000611931565b5f6387a211a2600c52335f526020600c208054808411156111d95763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a361122a338484611926565b50600192915050565b60605f6112408484611d03565b915091505b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fed095a1d53cef9e2be0aab14d20856bfa3fbcc76a945321739a0da68a6078e026020526040812054610b72565b5f610e34611e34565b60408051808201909152600581527f546f776e730000000000000000000000000000000000000000000000000000006020909101525f7fa40fbb70ec34ea8f6c23cf82b55213860ae24ffafadff8e9ae4cb556f54d19587fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64287101561132b57633480e9e15f526004601cfd5b6040517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf5f528960601b60601c602052886040528760605260805f206040526119015f527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081206020526042601e205f528660ff1660205285604052846060526020600160805f60015afa51935080604052505f6060523d15965086886113ff856338377508600c9081525f91909152602090205490565b18171561141357631838d95c5f526004601cfd5b611432836338377508600c52805f526020600c20805460010181555050565b61143c838a611c02565b505050505050505050565b5f4265ffffffffffff16821061145f5761145f611b27565b610b726fff466c9f00000000000000000000000083611b34565b5f610e346fff466c9f000000000000000000000000611cb9565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba318851915176114d057633f68539a5f526004601cfd5b60408051808201909152600581527f546f776e730000000000000000000000000000000000000000000000000000006020909101527fa40fbb70ec34ea8f6c23cf82b55213860ae24ffafadff8e9ae4cb556f54d19587fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561155c57631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d51146116445763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff83160161170e57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b72565b50602052637f5e9f20600c9081525f91909152603490205490565b6002611734816118b9565b7f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af0354821115611786576117867f57e4ff39000000000000000000000000000000000000000000000000000000006118dd565b7f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af0680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415151790557f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af07829055505050565b505050565b6118076118e5565b63389a75e1600c52805f526020600c20805442111561182d57636f5e88185f526004601cfd5b5f9055610c1981611c29565b6118416118e5565b8060601b61185657637448fbae5f526004601cfd5b610c1981611c29565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fed095a1d53cef9e2be0aab14d20856bfa3fbcc76a945321739a0da68a6078e0160205260409020606090610b7290611e5e565b610cce82825f611f32565b638b78c6d8600c52335f52806020600c205416610c19576382b429005f526004601cfd5b805f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146110d2576382b429005f526004601cfd5b610cce82826001611f32565b6117fa838383611f89565b7f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af06545f907f366bbacac8c1291905a47c4b12670e7c8ce975e09c84414dddf77ba98c85af009060ff1615611989576007015492915050565b5f6301e133806119998542612b07565b6119a39190612b47565b9050816005015481106119bb57506003015492915050565b5f82600501548360040154836119d19190612b5a565b6119db9190612b47565b90508083600201546119ed9190612b07565b95945050505050565b5f612710821115611a8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f303060448201527f3000000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b612710611a9a8385612b5a565b610fa89190612b47565b6805345cdf77eb68f44c5481810181811015611ac75763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3610cce5f8383611926565b63f98744645f526004601cfd5b5f5f835460a01b60d01c60068110611ba857601061ffff821160041b82811c60ff1060031b17600190811c9190911b80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c81038581015465ffffffffffff168510611ba5576001019150611ba8565b90505b5b80821015611bda5780820160011c65ffffffffffff86820154168510611bd3576001019150611ba9565b9050611ba9565b8460018203019150815460601c81151502925050308203611bfb5780195491505b5092915050565b63ff466c9f6004525f8290526018600c2054611c1e8383612045565b6117fa8383836120a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b6060610e347fed095a1d53cef9e2be0aab14d20856bfa3fbcc76a945321739a0da68a6078e00611e5e565b5f815460a01b60d01c90508015611cfe57017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01805460601c308103611cfe57508019545b919050565b60605f7fed095a1d53cef9e2be0aab14d20856bfa3fbcc76a945321739a0da68a6078e0081611d31826121d6565b9050808610611d54575050604080515f8082526020820190925292509050611245565b5f611d6e86611d638985612b07565b808218908211021890565b90508067ffffffffffffffff811115611d8957611d89612b71565b604051908082528060200260200182016040528015611db2578160200160208202803683370190505b5094505f5b81811015611e1257611dd3611dcc828a612b9e565b8590612227565b868281518110611de557611de5612bb1565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611db7565b5081611e1e8289612b9e565b611e289190612bde565b93505050509250929050565b5f610e347fed095a1d53cef9e2be0aab14d20856bfa3fbcc76a945321739a0da68a6078e006121d6565b63978aab926004525f818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281611eec578215611ee757600191508185015460601c92508215611ee7578284141590920260208301525060028381015460601c918215611ee7576003915083831415830260408201525b611f1c565b600191821c915b82811015611f1a578581015460601c858114158102600583901b8401529350600101611ef3565b505b8186528160051b81016040525050505050919050565b638b78c6d8600c52825f526020600c20805483811783611f53575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316611fcc57611fc96fff466c9f0000000000000000000000004265ffffffffffff16836001612292565b50505b73ffffffffffffffffffffffffffffffffffffffff821661200e5761200b6fff466c9f0000000000000000000000004265ffffffffffff16835f612292565b50505b6117fa6120288463ff466c9f6004525f526018600c205490565b61203f8463ff466c9f6004525f526018600c205490565b836123c0565b5f8160601b60601c63ff466c9f600452835f526018600c2080549250818155508082600c5160601c7f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f5fa4506117fa81836120a0866124c4565b6123c0565b7fed095a1d53cef9e2be0aab14d20856bfa3fbcc76a945321739a0da68a6078e0073ffffffffffffffffffffffffffffffffffffffff82166120f1576120eb81856124dd565b50612123565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260018201602052604090206121219085612661565b505b73ffffffffffffffffffffffffffffffffffffffff8316612175576121488185612661565b5073ffffffffffffffffffffffffffffffffffffffff84165f9081526002820160205260408120556121d0565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260018201602052604090206121a590856124dd565b5073ffffffffffffffffffffffffffffffffffffffff84165f90815260028201602052604090204290555b50505050565b63978aab926004525f8181526024812080548060a01b60a01c8060011c9350808260601c151761221f5760019350838301541561221f5760029350838301541561221f57600393505b505050919050565b63978aab926004525f828152602481208281015460601c915068fbb67fda52d4bfb8bf8214158202915061225a846121d6565b8310611bfb576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f85548060a01b60d01c806122f857851585176122b757635915f6865f526004601cfd5b8592508260a01c308414176122dd57606083901b871766010000000000001788556123b5565b3060601b8717660100000000000017885587198390556123b5565b87600182030180548060601c95503086036123135781195495505b866123325787860394508585111561234c57635915f6865f526004601cfd5b87860194508585101561234c57639dbbeb755f526004601cfd5b65ffffffffffff1688811461237357660100000000000084018a5560019283019291909101905b8260301c898211171561238257fe5b508360a01c308514176123a2578360601b8260301b8917178155506123b5565b3060601b8260301b891717815583811955505b505094509492505050565b806123ca57505050565b73ffffffffffffffffffffffffffffffffffffffff8084169083168082036123f3575050505050565b8115612458575f5f6124246124148863ff466c9f6004525f526017600c2090565b4265ffffffffffff16875f612292565b91509150815f5280602052837fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72460405fa250505b8015610f6a575f5f61248a6124798763ff466c9f6004525f526017600c2090565b4265ffffffffffff16876001612292565b91509150815f5280602052827fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72460405fa250505050505050565b6387a211a2600c9081525f828152602090912054610b72565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b404741830161253b5763f5a267f15f526004601cfd5b8261254d5768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff81168260205280612614578160601c80612580578560601b84556001945050612658565b85810361258d5750612658565b600184015460601c806125ae578660601b6001860155600195505050612658565b8681036125bc575050612658565b600285015460601c806125de578760601b600287015560019650505050612658565b8781036125ed57505050612658565b5f928352604080842060019055918352818320600290558252902060039055506007908117905b845f5260405f20805461265657600191821c808301825591945081612642578560601b600317845550612658565b8560601b8285015582600201845550612658565b505b50505092915050565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016126bf5763f5a267f15f526004601cfd5b826126d15768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff8116806127505760019350848260601c0361270e5760018301805484556002840180549091555f9055612658565b84600184015460601c0361272f5760028301805460018501555f9055612658565b84600284015460601c03612748575f6002840155612658565b5f9350612658565b82602052845f5260405f20805480612769575050612658565b60018360011c039250826001820314612799578285015460601c8060601b60018303870155805f52508060405f20555b5083547fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600192831b1782179093555f909255509392505050565b5f602082840312156127e5575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610fa8575f5ffd5b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611cfe575f5ffd5b5f6020828403121561289a575f5ffd5b610fa882612867565b5f8151808452602084019350602083015f5b828110156128e957815173ffffffffffffffffffffffffffffffffffffffff168652602095860195909101906001016128b5565b5093949350505050565b602081525f610fa860208301846128a3565b5f5f60408385031215612916575f5ffd5b61291f83612867565b946020939093013593505050565b5f6020828403121561293d575f5ffd5b5035919050565b5f5f5f60608486031215612956575f5ffd5b61295f84612867565b925061296d60208501612867565b929592945050506040919091013590565b5f5f6040838503121561298f575f5ffd5b50508035926020909101359150565b604081525f6129b060408301856128a3565b90508260208301529392505050565b803560ff81168114611cfe575f5ffd5b5f5f5f5f5f5f60c087890312156129e4575f5ffd5b6129ed87612867565b95506020870135945060408701359350612a09606088016129bf565b9598949750929560808101359460a0909101359350915050565b5f5f5f5f5f5f5f60e0888a031215612a39575f5ffd5b612a4288612867565b9650612a5060208901612867565b95506040880135945060608801359350612a6c608089016129bf565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215612a9a575f5ffd5b612aa383612867565b9150612ab160208401612867565b90509250929050565b5f5f60408385031215612acb575f5ffd5b8235801515811461291f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610b7257610b72612ada565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82612b5557612b55612b1a565b500490565b8082028115828204841417610b7257610b72612ada565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b80820180821115610b7257610b72612ada565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82612bec57612bec612b1a565b5006905681088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00";
1297
+
1298
+ type TownsConstructorParams =
1299
+ | [signer?: Signer]
1300
+ | ConstructorParameters<typeof ContractFactory>;
1301
+
1302
+ const isSuperArgs = (
1303
+ xs: TownsConstructorParams
1304
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1305
+
1306
+ export class Towns__factory extends ContractFactory {
1307
+ constructor(...args: TownsConstructorParams) {
1308
+ if (isSuperArgs(args)) {
1309
+ super(...args);
1310
+ } else {
1311
+ super(_abi, _bytecode, args[0]);
1312
+ }
1313
+ }
1314
+
1315
+ override deploy(
1316
+ vault: PromiseOrValue<string>,
1317
+ manager: PromiseOrValue<string>,
1318
+ config: ITownsBase.InflationConfigStruct,
1319
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1320
+ ): Promise<Towns> {
1321
+ return super.deploy(
1322
+ vault,
1323
+ manager,
1324
+ config,
1325
+ overrides || {}
1326
+ ) as Promise<Towns>;
1327
+ }
1328
+ override getDeployTransaction(
1329
+ vault: PromiseOrValue<string>,
1330
+ manager: PromiseOrValue<string>,
1331
+ config: ITownsBase.InflationConfigStruct,
1332
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1333
+ ): TransactionRequest {
1334
+ return super.getDeployTransaction(vault, manager, config, overrides || {});
1335
+ }
1336
+ override attach(address: string): Towns {
1337
+ return super.attach(address) as Towns;
1338
+ }
1339
+ override connect(signer: Signer): Towns__factory {
1340
+ return super.connect(signer) as Towns__factory;
1341
+ }
1342
+
1343
+ static readonly bytecode = _bytecode;
1344
+ static readonly abi = _abi;
1345
+ static createInterface(): TownsInterface {
1346
+ return new utils.Interface(_abi) as TownsInterface;
1347
+ }
1348
+ static connect(address: string, signerOrProvider: Signer | Provider): Towns {
1349
+ return new Contract(address, _abi, signerOrProvider) as Towns;
1350
+ }
1351
+ }