@gainsnetwork/sdk 0.0.51-multi-collat-rc4 → 0.0.51-multi-collat-rc7

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,2944 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GToken__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [],
11
+ name: "AboveInflationLimit",
12
+ type: "error",
13
+ },
14
+ {
15
+ inputs: [],
16
+ name: "AboveMax",
17
+ type: "error",
18
+ },
19
+ {
20
+ inputs: [],
21
+ name: "AddressZero",
22
+ type: "error",
23
+ },
24
+ {
25
+ inputs: [],
26
+ name: "BelowMin",
27
+ type: "error",
28
+ },
29
+ {
30
+ inputs: [],
31
+ name: "BytesZero",
32
+ type: "error",
33
+ },
34
+ {
35
+ inputs: [],
36
+ name: "ERC4626ExceededMaxDeposit",
37
+ type: "error",
38
+ },
39
+ {
40
+ inputs: [],
41
+ name: "ERC4626ExceededMaxMint",
42
+ type: "error",
43
+ },
44
+ {
45
+ inputs: [],
46
+ name: "ERC4626ExceededMaxRedeem",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [],
51
+ name: "ERC4626ExceededMaxWithdraw",
52
+ type: "error",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "EndOfEpoch",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "GnsPriceCallFailed",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "GnsTokenPriceZero",
67
+ type: "error",
68
+ },
69
+ {
70
+ inputs: [],
71
+ name: "MaxDailyPnl",
72
+ type: "error",
73
+ },
74
+ {
75
+ inputs: [],
76
+ name: "NoActiveDiscount",
77
+ type: "error",
78
+ },
79
+ {
80
+ inputs: [],
81
+ name: "NoDiscount",
82
+ type: "error",
83
+ },
84
+ {
85
+ inputs: [],
86
+ name: "NotAllowed",
87
+ type: "error",
88
+ },
89
+ {
90
+ inputs: [],
91
+ name: "NotEnoughAssets",
92
+ type: "error",
93
+ },
94
+ {
95
+ inputs: [],
96
+ name: "NotUnderCollateralized",
97
+ type: "error",
98
+ },
99
+ {
100
+ inputs: [],
101
+ name: "NotUnlocked",
102
+ type: "error",
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: "OnlyManager",
107
+ type: "error",
108
+ },
109
+ {
110
+ inputs: [],
111
+ name: "OnlyPnlFeed",
112
+ type: "error",
113
+ },
114
+ {
115
+ inputs: [],
116
+ name: "OnlyTradingPnlHandler",
117
+ type: "error",
118
+ },
119
+ {
120
+ inputs: [
121
+ {
122
+ internalType: "address",
123
+ name: "owner",
124
+ type: "address",
125
+ },
126
+ ],
127
+ name: "OwnableInvalidOwner",
128
+ type: "error",
129
+ },
130
+ {
131
+ inputs: [],
132
+ name: "PendingWithdrawal",
133
+ type: "error",
134
+ },
135
+ {
136
+ inputs: [],
137
+ name: "PriceZero",
138
+ type: "error",
139
+ },
140
+ {
141
+ inputs: [],
142
+ name: "ValueZero",
143
+ type: "error",
144
+ },
145
+ {
146
+ inputs: [],
147
+ name: "WrongValue",
148
+ type: "error",
149
+ },
150
+ {
151
+ inputs: [],
152
+ name: "WrongValues",
153
+ type: "error",
154
+ },
155
+ {
156
+ anonymous: false,
157
+ inputs: [
158
+ {
159
+ indexed: true,
160
+ internalType: "address",
161
+ name: "sender",
162
+ type: "address",
163
+ },
164
+ {
165
+ indexed: true,
166
+ internalType: "uint256",
167
+ name: "newEpoch",
168
+ type: "uint256",
169
+ },
170
+ {
171
+ indexed: false,
172
+ internalType: "uint256",
173
+ name: "prevPositiveOpenPnl",
174
+ type: "uint256",
175
+ },
176
+ {
177
+ indexed: false,
178
+ internalType: "uint256",
179
+ name: "newPositiveOpenPnl",
180
+ type: "uint256",
181
+ },
182
+ {
183
+ indexed: false,
184
+ internalType: "uint256",
185
+ name: "newEpochPositiveOpenPnl",
186
+ type: "uint256",
187
+ },
188
+ {
189
+ indexed: false,
190
+ internalType: "int256",
191
+ name: "newAccPnlPerTokenUsed",
192
+ type: "int256",
193
+ },
194
+ ],
195
+ name: "AccPnlPerTokenUsedUpdated",
196
+ type: "event",
197
+ },
198
+ {
199
+ anonymous: false,
200
+ inputs: [
201
+ {
202
+ indexed: false,
203
+ internalType: "address",
204
+ name: "newValue",
205
+ type: "address",
206
+ },
207
+ ],
208
+ name: "AdminUpdated",
209
+ type: "event",
210
+ },
211
+ {
212
+ anonymous: false,
213
+ inputs: [
214
+ {
215
+ indexed: true,
216
+ internalType: "address",
217
+ name: "owner",
218
+ type: "address",
219
+ },
220
+ {
221
+ indexed: true,
222
+ internalType: "address",
223
+ name: "spender",
224
+ type: "address",
225
+ },
226
+ {
227
+ indexed: false,
228
+ internalType: "uint256",
229
+ name: "value",
230
+ type: "uint256",
231
+ },
232
+ ],
233
+ name: "Approval",
234
+ type: "event",
235
+ },
236
+ {
237
+ anonymous: false,
238
+ inputs: [
239
+ {
240
+ indexed: true,
241
+ internalType: "address",
242
+ name: "sender",
243
+ type: "address",
244
+ },
245
+ {
246
+ indexed: true,
247
+ internalType: "address",
248
+ name: "user",
249
+ type: "address",
250
+ },
251
+ {
252
+ indexed: false,
253
+ internalType: "uint256",
254
+ name: "assets",
255
+ type: "uint256",
256
+ },
257
+ {
258
+ indexed: false,
259
+ internalType: "uint256",
260
+ name: "assetsLessDeplete",
261
+ type: "uint256",
262
+ },
263
+ ],
264
+ name: "AssetsReceived",
265
+ type: "event",
266
+ },
267
+ {
268
+ anonymous: false,
269
+ inputs: [
270
+ {
271
+ indexed: true,
272
+ internalType: "address",
273
+ name: "sender",
274
+ type: "address",
275
+ },
276
+ {
277
+ indexed: true,
278
+ internalType: "address",
279
+ name: "receiver",
280
+ type: "address",
281
+ },
282
+ {
283
+ indexed: false,
284
+ internalType: "uint256",
285
+ name: "assets",
286
+ type: "uint256",
287
+ },
288
+ ],
289
+ name: "AssetsSent",
290
+ type: "event",
291
+ },
292
+ {
293
+ anonymous: false,
294
+ inputs: [
295
+ {
296
+ indexed: false,
297
+ internalType: "uint256",
298
+ name: "newValue",
299
+ type: "uint256",
300
+ },
301
+ ],
302
+ name: "CurrentMaxSupplyUpdated",
303
+ type: "event",
304
+ },
305
+ {
306
+ anonymous: false,
307
+ inputs: [],
308
+ name: "DailyAccPnlDeltaReset",
309
+ type: "event",
310
+ },
311
+ {
312
+ anonymous: false,
313
+ inputs: [
314
+ {
315
+ indexed: true,
316
+ internalType: "address",
317
+ name: "asset",
318
+ type: "address",
319
+ },
320
+ {
321
+ indexed: true,
322
+ internalType: "address",
323
+ name: "delegatee",
324
+ type: "address",
325
+ },
326
+ {
327
+ indexed: false,
328
+ internalType: "bool",
329
+ name: "success",
330
+ type: "bool",
331
+ },
332
+ ],
333
+ name: "Delegated",
334
+ type: "event",
335
+ },
336
+ {
337
+ anonymous: false,
338
+ inputs: [
339
+ {
340
+ indexed: true,
341
+ internalType: "address",
342
+ name: "sender",
343
+ type: "address",
344
+ },
345
+ {
346
+ indexed: false,
347
+ internalType: "uint256",
348
+ name: "assets",
349
+ type: "uint256",
350
+ },
351
+ {
352
+ indexed: false,
353
+ internalType: "uint256",
354
+ name: "amountGns",
355
+ type: "uint256",
356
+ },
357
+ ],
358
+ name: "Depleted",
359
+ type: "event",
360
+ },
361
+ {
362
+ anonymous: false,
363
+ inputs: [
364
+ {
365
+ indexed: true,
366
+ internalType: "address",
367
+ name: "sender",
368
+ type: "address",
369
+ },
370
+ {
371
+ indexed: true,
372
+ internalType: "address",
373
+ name: "owner",
374
+ type: "address",
375
+ },
376
+ {
377
+ indexed: false,
378
+ internalType: "uint256",
379
+ name: "assets",
380
+ type: "uint256",
381
+ },
382
+ {
383
+ indexed: false,
384
+ internalType: "uint256",
385
+ name: "shares",
386
+ type: "uint256",
387
+ },
388
+ ],
389
+ name: "Deposit",
390
+ type: "event",
391
+ },
392
+ {
393
+ anonymous: false,
394
+ inputs: [
395
+ {
396
+ indexed: true,
397
+ internalType: "address",
398
+ name: "sender",
399
+ type: "address",
400
+ },
401
+ {
402
+ indexed: true,
403
+ internalType: "address",
404
+ name: "owner",
405
+ type: "address",
406
+ },
407
+ {
408
+ indexed: false,
409
+ internalType: "uint256",
410
+ name: "depositId",
411
+ type: "uint256",
412
+ },
413
+ {
414
+ components: [
415
+ {
416
+ internalType: "address",
417
+ name: "owner",
418
+ type: "address",
419
+ },
420
+ {
421
+ internalType: "uint256",
422
+ name: "shares",
423
+ type: "uint256",
424
+ },
425
+ {
426
+ internalType: "uint256",
427
+ name: "assetsDeposited",
428
+ type: "uint256",
429
+ },
430
+ {
431
+ internalType: "uint256",
432
+ name: "assetsDiscount",
433
+ type: "uint256",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "atTimestamp",
438
+ type: "uint256",
439
+ },
440
+ {
441
+ internalType: "uint256",
442
+ name: "lockDuration",
443
+ type: "uint256",
444
+ },
445
+ ],
446
+ indexed: false,
447
+ internalType: "struct IGToken.LockedDeposit",
448
+ name: "d",
449
+ type: "tuple",
450
+ },
451
+ ],
452
+ name: "DepositLocked",
453
+ type: "event",
454
+ },
455
+ {
456
+ anonymous: false,
457
+ inputs: [
458
+ {
459
+ indexed: true,
460
+ internalType: "address",
461
+ name: "sender",
462
+ type: "address",
463
+ },
464
+ {
465
+ indexed: true,
466
+ internalType: "address",
467
+ name: "receiver",
468
+ type: "address",
469
+ },
470
+ {
471
+ indexed: true,
472
+ internalType: "address",
473
+ name: "owner",
474
+ type: "address",
475
+ },
476
+ {
477
+ indexed: false,
478
+ internalType: "uint256",
479
+ name: "depositId",
480
+ type: "uint256",
481
+ },
482
+ {
483
+ components: [
484
+ {
485
+ internalType: "address",
486
+ name: "owner",
487
+ type: "address",
488
+ },
489
+ {
490
+ internalType: "uint256",
491
+ name: "shares",
492
+ type: "uint256",
493
+ },
494
+ {
495
+ internalType: "uint256",
496
+ name: "assetsDeposited",
497
+ type: "uint256",
498
+ },
499
+ {
500
+ internalType: "uint256",
501
+ name: "assetsDiscount",
502
+ type: "uint256",
503
+ },
504
+ {
505
+ internalType: "uint256",
506
+ name: "atTimestamp",
507
+ type: "uint256",
508
+ },
509
+ {
510
+ internalType: "uint256",
511
+ name: "lockDuration",
512
+ type: "uint256",
513
+ },
514
+ ],
515
+ indexed: false,
516
+ internalType: "struct IGToken.LockedDeposit",
517
+ name: "d",
518
+ type: "tuple",
519
+ },
520
+ ],
521
+ name: "DepositUnlocked",
522
+ type: "event",
523
+ },
524
+ {
525
+ anonymous: false,
526
+ inputs: [
527
+ {
528
+ components: [
529
+ {
530
+ internalType: "address",
531
+ name: "addr",
532
+ type: "address",
533
+ },
534
+ {
535
+ internalType: "bytes",
536
+ name: "signature",
537
+ type: "bytes",
538
+ },
539
+ ],
540
+ indexed: false,
541
+ internalType: "struct IGToken.GnsPriceProvider",
542
+ name: "newValue",
543
+ type: "tuple",
544
+ },
545
+ ],
546
+ name: "GnsPriceProviderUpdated",
547
+ type: "event",
548
+ },
549
+ {
550
+ anonymous: false,
551
+ inputs: [
552
+ {
553
+ indexed: false,
554
+ internalType: "uint8",
555
+ name: "version",
556
+ type: "uint8",
557
+ },
558
+ ],
559
+ name: "Initialized",
560
+ type: "event",
561
+ },
562
+ {
563
+ anonymous: false,
564
+ inputs: [
565
+ {
566
+ indexed: false,
567
+ internalType: "uint256",
568
+ name: "newValue",
569
+ type: "uint256",
570
+ },
571
+ ],
572
+ name: "LossesBurnPUpdated",
573
+ type: "event",
574
+ },
575
+ {
576
+ anonymous: false,
577
+ inputs: [
578
+ {
579
+ indexed: false,
580
+ internalType: "address",
581
+ name: "newValue",
582
+ type: "address",
583
+ },
584
+ ],
585
+ name: "ManagerUpdated",
586
+ type: "event",
587
+ },
588
+ {
589
+ anonymous: false,
590
+ inputs: [
591
+ {
592
+ indexed: false,
593
+ internalType: "uint256",
594
+ name: "newValue",
595
+ type: "uint256",
596
+ },
597
+ ],
598
+ name: "MaxAccOpenPnlDeltaUpdated",
599
+ type: "event",
600
+ },
601
+ {
602
+ anonymous: false,
603
+ inputs: [
604
+ {
605
+ indexed: false,
606
+ internalType: "uint256",
607
+ name: "newValue",
608
+ type: "uint256",
609
+ },
610
+ ],
611
+ name: "MaxDailyAccPnlDeltaUpdated",
612
+ type: "event",
613
+ },
614
+ {
615
+ anonymous: false,
616
+ inputs: [
617
+ {
618
+ indexed: false,
619
+ internalType: "uint256",
620
+ name: "newValue",
621
+ type: "uint256",
622
+ },
623
+ ],
624
+ name: "MaxDiscountPUpdated",
625
+ type: "event",
626
+ },
627
+ {
628
+ anonymous: false,
629
+ inputs: [
630
+ {
631
+ indexed: false,
632
+ internalType: "uint256",
633
+ name: "newValue",
634
+ type: "uint256",
635
+ },
636
+ ],
637
+ name: "MaxDiscountThresholdPUpdated",
638
+ type: "event",
639
+ },
640
+ {
641
+ anonymous: false,
642
+ inputs: [
643
+ {
644
+ indexed: false,
645
+ internalType: "uint256",
646
+ name: "newValue",
647
+ type: "uint256",
648
+ },
649
+ ],
650
+ name: "MaxGnsSupplyMintDailyPUpdated",
651
+ type: "event",
652
+ },
653
+ {
654
+ anonymous: false,
655
+ inputs: [
656
+ {
657
+ indexed: false,
658
+ internalType: "uint256",
659
+ name: "newValue",
660
+ type: "uint256",
661
+ },
662
+ ],
663
+ name: "MaxSupplyIncreaseDailyPUpdated",
664
+ type: "event",
665
+ },
666
+ {
667
+ anonymous: false,
668
+ inputs: [],
669
+ name: "OpenTradesPnlFeedCallFailed",
670
+ type: "event",
671
+ },
672
+ {
673
+ anonymous: false,
674
+ inputs: [
675
+ {
676
+ indexed: false,
677
+ internalType: "address",
678
+ name: "newValue",
679
+ type: "address",
680
+ },
681
+ ],
682
+ name: "OpenTradesPnlFeedUpdated",
683
+ type: "event",
684
+ },
685
+ {
686
+ anonymous: false,
687
+ inputs: [
688
+ {
689
+ indexed: true,
690
+ internalType: "address",
691
+ name: "previousOwner",
692
+ type: "address",
693
+ },
694
+ {
695
+ indexed: true,
696
+ internalType: "address",
697
+ name: "newOwner",
698
+ type: "address",
699
+ },
700
+ ],
701
+ name: "OwnershipTransferred",
702
+ type: "event",
703
+ },
704
+ {
705
+ anonymous: false,
706
+ inputs: [
707
+ {
708
+ indexed: false,
709
+ internalType: "address",
710
+ name: "newValue",
711
+ type: "address",
712
+ },
713
+ ],
714
+ name: "PnlHandlerUpdated",
715
+ type: "event",
716
+ },
717
+ {
718
+ anonymous: false,
719
+ inputs: [
720
+ {
721
+ indexed: true,
722
+ internalType: "address",
723
+ name: "sender",
724
+ type: "address",
725
+ },
726
+ {
727
+ indexed: false,
728
+ internalType: "uint256",
729
+ name: "assets",
730
+ type: "uint256",
731
+ },
732
+ {
733
+ indexed: false,
734
+ internalType: "uint256",
735
+ name: "amountGns",
736
+ type: "uint256",
737
+ },
738
+ ],
739
+ name: "Refilled",
740
+ type: "event",
741
+ },
742
+ {
743
+ anonymous: false,
744
+ inputs: [
745
+ {
746
+ indexed: true,
747
+ internalType: "address",
748
+ name: "sender",
749
+ type: "address",
750
+ },
751
+ {
752
+ indexed: false,
753
+ internalType: "uint256",
754
+ name: "assets",
755
+ type: "uint256",
756
+ },
757
+ ],
758
+ name: "RewardDistributed",
759
+ type: "event",
760
+ },
761
+ {
762
+ anonymous: false,
763
+ inputs: [
764
+ {
765
+ indexed: false,
766
+ internalType: "uint256",
767
+ name: "newValue",
768
+ type: "uint256",
769
+ },
770
+ ],
771
+ name: "ShareToAssetsPriceUpdated",
772
+ type: "event",
773
+ },
774
+ {
775
+ anonymous: false,
776
+ inputs: [
777
+ {
778
+ indexed: true,
779
+ internalType: "address",
780
+ name: "from",
781
+ type: "address",
782
+ },
783
+ {
784
+ indexed: true,
785
+ internalType: "address",
786
+ name: "to",
787
+ type: "address",
788
+ },
789
+ {
790
+ indexed: false,
791
+ internalType: "uint256",
792
+ name: "value",
793
+ type: "uint256",
794
+ },
795
+ ],
796
+ name: "Transfer",
797
+ type: "event",
798
+ },
799
+ {
800
+ anonymous: false,
801
+ inputs: [
802
+ {
803
+ indexed: true,
804
+ internalType: "address",
805
+ name: "sender",
806
+ type: "address",
807
+ },
808
+ {
809
+ indexed: true,
810
+ internalType: "address",
811
+ name: "receiver",
812
+ type: "address",
813
+ },
814
+ {
815
+ indexed: true,
816
+ internalType: "address",
817
+ name: "owner",
818
+ type: "address",
819
+ },
820
+ {
821
+ indexed: false,
822
+ internalType: "uint256",
823
+ name: "assets",
824
+ type: "uint256",
825
+ },
826
+ {
827
+ indexed: false,
828
+ internalType: "uint256",
829
+ name: "shares",
830
+ type: "uint256",
831
+ },
832
+ ],
833
+ name: "Withdraw",
834
+ type: "event",
835
+ },
836
+ {
837
+ anonymous: false,
838
+ inputs: [
839
+ {
840
+ indexed: true,
841
+ internalType: "address",
842
+ name: "sender",
843
+ type: "address",
844
+ },
845
+ {
846
+ indexed: true,
847
+ internalType: "address",
848
+ name: "owner",
849
+ type: "address",
850
+ },
851
+ {
852
+ indexed: false,
853
+ internalType: "uint256",
854
+ name: "shares",
855
+ type: "uint256",
856
+ },
857
+ {
858
+ indexed: false,
859
+ internalType: "uint256",
860
+ name: "currEpoch",
861
+ type: "uint256",
862
+ },
863
+ {
864
+ indexed: true,
865
+ internalType: "uint256",
866
+ name: "unlockEpoch",
867
+ type: "uint256",
868
+ },
869
+ ],
870
+ name: "WithdrawCanceled",
871
+ type: "event",
872
+ },
873
+ {
874
+ anonymous: false,
875
+ inputs: [
876
+ {
877
+ indexed: false,
878
+ internalType: "uint256[2]",
879
+ name: "newValue",
880
+ type: "uint256[2]",
881
+ },
882
+ ],
883
+ name: "WithdrawLockThresholdsPUpdated",
884
+ type: "event",
885
+ },
886
+ {
887
+ anonymous: false,
888
+ inputs: [
889
+ {
890
+ indexed: true,
891
+ internalType: "address",
892
+ name: "sender",
893
+ type: "address",
894
+ },
895
+ {
896
+ indexed: true,
897
+ internalType: "address",
898
+ name: "owner",
899
+ type: "address",
900
+ },
901
+ {
902
+ indexed: false,
903
+ internalType: "uint256",
904
+ name: "shares",
905
+ type: "uint256",
906
+ },
907
+ {
908
+ indexed: false,
909
+ internalType: "uint256",
910
+ name: "currEpoch",
911
+ type: "uint256",
912
+ },
913
+ {
914
+ indexed: true,
915
+ internalType: "uint256",
916
+ name: "unlockEpoch",
917
+ type: "uint256",
918
+ },
919
+ ],
920
+ name: "WithdrawRequested",
921
+ type: "event",
922
+ },
923
+ {
924
+ inputs: [],
925
+ name: "MIN_LOCK_DURATION",
926
+ outputs: [
927
+ {
928
+ internalType: "uint256",
929
+ name: "",
930
+ type: "uint256",
931
+ },
932
+ ],
933
+ stateMutability: "view",
934
+ type: "function",
935
+ },
936
+ {
937
+ inputs: [],
938
+ name: "accBlockWeightedMarketCap",
939
+ outputs: [
940
+ {
941
+ internalType: "uint256",
942
+ name: "",
943
+ type: "uint256",
944
+ },
945
+ ],
946
+ stateMutability: "view",
947
+ type: "function",
948
+ },
949
+ {
950
+ inputs: [],
951
+ name: "accBlockWeightedMarketCapLastStored",
952
+ outputs: [
953
+ {
954
+ internalType: "uint256",
955
+ name: "",
956
+ type: "uint256",
957
+ },
958
+ ],
959
+ stateMutability: "view",
960
+ type: "function",
961
+ },
962
+ {
963
+ inputs: [],
964
+ name: "accPnlPerToken",
965
+ outputs: [
966
+ {
967
+ internalType: "int256",
968
+ name: "",
969
+ type: "int256",
970
+ },
971
+ ],
972
+ stateMutability: "view",
973
+ type: "function",
974
+ },
975
+ {
976
+ inputs: [],
977
+ name: "accPnlPerTokenUsed",
978
+ outputs: [
979
+ {
980
+ internalType: "int256",
981
+ name: "",
982
+ type: "int256",
983
+ },
984
+ ],
985
+ stateMutability: "view",
986
+ type: "function",
987
+ },
988
+ {
989
+ inputs: [],
990
+ name: "accRewardsPerToken",
991
+ outputs: [
992
+ {
993
+ internalType: "uint256",
994
+ name: "",
995
+ type: "uint256",
996
+ },
997
+ ],
998
+ stateMutability: "view",
999
+ type: "function",
1000
+ },
1001
+ {
1002
+ inputs: [],
1003
+ name: "admin",
1004
+ outputs: [
1005
+ {
1006
+ internalType: "address",
1007
+ name: "",
1008
+ type: "address",
1009
+ },
1010
+ ],
1011
+ stateMutability: "view",
1012
+ type: "function",
1013
+ },
1014
+ {
1015
+ inputs: [
1016
+ {
1017
+ internalType: "address",
1018
+ name: "owner",
1019
+ type: "address",
1020
+ },
1021
+ {
1022
+ internalType: "address",
1023
+ name: "spender",
1024
+ type: "address",
1025
+ },
1026
+ ],
1027
+ name: "allowance",
1028
+ outputs: [
1029
+ {
1030
+ internalType: "uint256",
1031
+ name: "",
1032
+ type: "uint256",
1033
+ },
1034
+ ],
1035
+ stateMutability: "view",
1036
+ type: "function",
1037
+ },
1038
+ {
1039
+ inputs: [
1040
+ {
1041
+ internalType: "address",
1042
+ name: "spender",
1043
+ type: "address",
1044
+ },
1045
+ {
1046
+ internalType: "uint256",
1047
+ name: "amount",
1048
+ type: "uint256",
1049
+ },
1050
+ ],
1051
+ name: "approve",
1052
+ outputs: [
1053
+ {
1054
+ internalType: "bool",
1055
+ name: "",
1056
+ type: "bool",
1057
+ },
1058
+ ],
1059
+ stateMutability: "nonpayable",
1060
+ type: "function",
1061
+ },
1062
+ {
1063
+ inputs: [],
1064
+ name: "asset",
1065
+ outputs: [
1066
+ {
1067
+ internalType: "address",
1068
+ name: "",
1069
+ type: "address",
1070
+ },
1071
+ ],
1072
+ stateMutability: "view",
1073
+ type: "function",
1074
+ },
1075
+ {
1076
+ inputs: [],
1077
+ name: "assetsToDeplete",
1078
+ outputs: [
1079
+ {
1080
+ internalType: "uint256",
1081
+ name: "",
1082
+ type: "uint256",
1083
+ },
1084
+ ],
1085
+ stateMutability: "view",
1086
+ type: "function",
1087
+ },
1088
+ {
1089
+ inputs: [],
1090
+ name: "availableAssets",
1091
+ outputs: [
1092
+ {
1093
+ internalType: "uint256",
1094
+ name: "",
1095
+ type: "uint256",
1096
+ },
1097
+ ],
1098
+ stateMutability: "view",
1099
+ type: "function",
1100
+ },
1101
+ {
1102
+ inputs: [
1103
+ {
1104
+ internalType: "address",
1105
+ name: "account",
1106
+ type: "address",
1107
+ },
1108
+ ],
1109
+ name: "balanceOf",
1110
+ outputs: [
1111
+ {
1112
+ internalType: "uint256",
1113
+ name: "",
1114
+ type: "uint256",
1115
+ },
1116
+ ],
1117
+ stateMutability: "view",
1118
+ type: "function",
1119
+ },
1120
+ {
1121
+ inputs: [
1122
+ {
1123
+ internalType: "uint256",
1124
+ name: "shares",
1125
+ type: "uint256",
1126
+ },
1127
+ {
1128
+ internalType: "address",
1129
+ name: "owner",
1130
+ type: "address",
1131
+ },
1132
+ {
1133
+ internalType: "uint256",
1134
+ name: "unlockEpoch",
1135
+ type: "uint256",
1136
+ },
1137
+ ],
1138
+ name: "cancelWithdrawRequest",
1139
+ outputs: [],
1140
+ stateMutability: "nonpayable",
1141
+ type: "function",
1142
+ },
1143
+ {
1144
+ inputs: [],
1145
+ name: "collateralConfig",
1146
+ outputs: [
1147
+ {
1148
+ internalType: "uint128",
1149
+ name: "precision",
1150
+ type: "uint128",
1151
+ },
1152
+ {
1153
+ internalType: "uint128",
1154
+ name: "precisionDelta",
1155
+ type: "uint128",
1156
+ },
1157
+ ],
1158
+ stateMutability: "view",
1159
+ type: "function",
1160
+ },
1161
+ {
1162
+ inputs: [],
1163
+ name: "collateralizationP",
1164
+ outputs: [
1165
+ {
1166
+ internalType: "uint256",
1167
+ name: "",
1168
+ type: "uint256",
1169
+ },
1170
+ ],
1171
+ stateMutability: "view",
1172
+ type: "function",
1173
+ },
1174
+ {
1175
+ inputs: [
1176
+ {
1177
+ internalType: "uint256",
1178
+ name: "shares",
1179
+ type: "uint256",
1180
+ },
1181
+ ],
1182
+ name: "convertToAssets",
1183
+ outputs: [
1184
+ {
1185
+ internalType: "uint256",
1186
+ name: "",
1187
+ type: "uint256",
1188
+ },
1189
+ ],
1190
+ stateMutability: "view",
1191
+ type: "function",
1192
+ },
1193
+ {
1194
+ inputs: [
1195
+ {
1196
+ internalType: "uint256",
1197
+ name: "assets",
1198
+ type: "uint256",
1199
+ },
1200
+ ],
1201
+ name: "convertToShares",
1202
+ outputs: [
1203
+ {
1204
+ internalType: "uint256",
1205
+ name: "",
1206
+ type: "uint256",
1207
+ },
1208
+ ],
1209
+ stateMutability: "view",
1210
+ type: "function",
1211
+ },
1212
+ {
1213
+ inputs: [],
1214
+ name: "currentEpoch",
1215
+ outputs: [
1216
+ {
1217
+ internalType: "uint256",
1218
+ name: "",
1219
+ type: "uint256",
1220
+ },
1221
+ ],
1222
+ stateMutability: "view",
1223
+ type: "function",
1224
+ },
1225
+ {
1226
+ inputs: [],
1227
+ name: "currentEpochPositiveOpenPnl",
1228
+ outputs: [
1229
+ {
1230
+ internalType: "uint256",
1231
+ name: "",
1232
+ type: "uint256",
1233
+ },
1234
+ ],
1235
+ stateMutability: "view",
1236
+ type: "function",
1237
+ },
1238
+ {
1239
+ inputs: [],
1240
+ name: "currentEpochStart",
1241
+ outputs: [
1242
+ {
1243
+ internalType: "uint256",
1244
+ name: "",
1245
+ type: "uint256",
1246
+ },
1247
+ ],
1248
+ stateMutability: "view",
1249
+ type: "function",
1250
+ },
1251
+ {
1252
+ inputs: [],
1253
+ name: "currentMaxSupply",
1254
+ outputs: [
1255
+ {
1256
+ internalType: "uint256",
1257
+ name: "",
1258
+ type: "uint256",
1259
+ },
1260
+ ],
1261
+ stateMutability: "view",
1262
+ type: "function",
1263
+ },
1264
+ {
1265
+ inputs: [],
1266
+ name: "dailyAccPnlDelta",
1267
+ outputs: [
1268
+ {
1269
+ internalType: "int256",
1270
+ name: "",
1271
+ type: "int256",
1272
+ },
1273
+ ],
1274
+ stateMutability: "view",
1275
+ type: "function",
1276
+ },
1277
+ {
1278
+ inputs: [],
1279
+ name: "dailyMintedGns",
1280
+ outputs: [
1281
+ {
1282
+ internalType: "uint256",
1283
+ name: "",
1284
+ type: "uint256",
1285
+ },
1286
+ ],
1287
+ stateMutability: "view",
1288
+ type: "function",
1289
+ },
1290
+ {
1291
+ inputs: [],
1292
+ name: "decimals",
1293
+ outputs: [
1294
+ {
1295
+ internalType: "uint8",
1296
+ name: "",
1297
+ type: "uint8",
1298
+ },
1299
+ ],
1300
+ stateMutability: "view",
1301
+ type: "function",
1302
+ },
1303
+ {
1304
+ inputs: [
1305
+ {
1306
+ internalType: "address",
1307
+ name: "spender",
1308
+ type: "address",
1309
+ },
1310
+ {
1311
+ internalType: "uint256",
1312
+ name: "subtractedValue",
1313
+ type: "uint256",
1314
+ },
1315
+ ],
1316
+ name: "decreaseAllowance",
1317
+ outputs: [
1318
+ {
1319
+ internalType: "bool",
1320
+ name: "",
1321
+ type: "bool",
1322
+ },
1323
+ ],
1324
+ stateMutability: "nonpayable",
1325
+ type: "function",
1326
+ },
1327
+ {
1328
+ inputs: [
1329
+ {
1330
+ internalType: "uint256",
1331
+ name: "assets",
1332
+ type: "uint256",
1333
+ },
1334
+ ],
1335
+ name: "deplete",
1336
+ outputs: [],
1337
+ stateMutability: "nonpayable",
1338
+ type: "function",
1339
+ },
1340
+ {
1341
+ inputs: [
1342
+ {
1343
+ internalType: "uint256",
1344
+ name: "assets",
1345
+ type: "uint256",
1346
+ },
1347
+ {
1348
+ internalType: "address",
1349
+ name: "receiver",
1350
+ type: "address",
1351
+ },
1352
+ ],
1353
+ name: "deposit",
1354
+ outputs: [
1355
+ {
1356
+ internalType: "uint256",
1357
+ name: "",
1358
+ type: "uint256",
1359
+ },
1360
+ ],
1361
+ stateMutability: "nonpayable",
1362
+ type: "function",
1363
+ },
1364
+ {
1365
+ inputs: [
1366
+ {
1367
+ internalType: "uint256",
1368
+ name: "assets",
1369
+ type: "uint256",
1370
+ },
1371
+ {
1372
+ internalType: "uint256",
1373
+ name: "lockDuration",
1374
+ type: "uint256",
1375
+ },
1376
+ {
1377
+ internalType: "address",
1378
+ name: "receiver",
1379
+ type: "address",
1380
+ },
1381
+ ],
1382
+ name: "depositWithDiscountAndLock",
1383
+ outputs: [
1384
+ {
1385
+ internalType: "uint256",
1386
+ name: "",
1387
+ type: "uint256",
1388
+ },
1389
+ ],
1390
+ stateMutability: "nonpayable",
1391
+ type: "function",
1392
+ },
1393
+ {
1394
+ inputs: [
1395
+ {
1396
+ internalType: "uint256",
1397
+ name: "assets",
1398
+ type: "uint256",
1399
+ },
1400
+ ],
1401
+ name: "distributeReward",
1402
+ outputs: [],
1403
+ stateMutability: "nonpayable",
1404
+ type: "function",
1405
+ },
1406
+ {
1407
+ inputs: [
1408
+ {
1409
+ internalType: "uint256",
1410
+ name: "depositId",
1411
+ type: "uint256",
1412
+ },
1413
+ ],
1414
+ name: "getLockedDeposit",
1415
+ outputs: [
1416
+ {
1417
+ components: [
1418
+ {
1419
+ internalType: "address",
1420
+ name: "owner",
1421
+ type: "address",
1422
+ },
1423
+ {
1424
+ internalType: "uint256",
1425
+ name: "shares",
1426
+ type: "uint256",
1427
+ },
1428
+ {
1429
+ internalType: "uint256",
1430
+ name: "assetsDeposited",
1431
+ type: "uint256",
1432
+ },
1433
+ {
1434
+ internalType: "uint256",
1435
+ name: "assetsDiscount",
1436
+ type: "uint256",
1437
+ },
1438
+ {
1439
+ internalType: "uint256",
1440
+ name: "atTimestamp",
1441
+ type: "uint256",
1442
+ },
1443
+ {
1444
+ internalType: "uint256",
1445
+ name: "lockDuration",
1446
+ type: "uint256",
1447
+ },
1448
+ ],
1449
+ internalType: "struct IGToken.LockedDeposit",
1450
+ name: "",
1451
+ type: "tuple",
1452
+ },
1453
+ ],
1454
+ stateMutability: "view",
1455
+ type: "function",
1456
+ },
1457
+ {
1458
+ inputs: [],
1459
+ name: "gnsPriceProvider",
1460
+ outputs: [
1461
+ {
1462
+ internalType: "address",
1463
+ name: "addr",
1464
+ type: "address",
1465
+ },
1466
+ {
1467
+ internalType: "bytes",
1468
+ name: "signature",
1469
+ type: "bytes",
1470
+ },
1471
+ ],
1472
+ stateMutability: "view",
1473
+ type: "function",
1474
+ },
1475
+ {
1476
+ inputs: [],
1477
+ name: "gnsToken",
1478
+ outputs: [
1479
+ {
1480
+ internalType: "address",
1481
+ name: "",
1482
+ type: "address",
1483
+ },
1484
+ ],
1485
+ stateMutability: "view",
1486
+ type: "function",
1487
+ },
1488
+ {
1489
+ inputs: [],
1490
+ name: "gnsTokenToAssetsPrice",
1491
+ outputs: [
1492
+ {
1493
+ internalType: "uint256",
1494
+ name: "price",
1495
+ type: "uint256",
1496
+ },
1497
+ ],
1498
+ stateMutability: "view",
1499
+ type: "function",
1500
+ },
1501
+ {
1502
+ inputs: [
1503
+ {
1504
+ internalType: "address",
1505
+ name: "spender",
1506
+ type: "address",
1507
+ },
1508
+ {
1509
+ internalType: "uint256",
1510
+ name: "addedValue",
1511
+ type: "uint256",
1512
+ },
1513
+ ],
1514
+ name: "increaseAllowance",
1515
+ outputs: [
1516
+ {
1517
+ internalType: "bool",
1518
+ name: "",
1519
+ type: "bool",
1520
+ },
1521
+ ],
1522
+ stateMutability: "nonpayable",
1523
+ type: "function",
1524
+ },
1525
+ {
1526
+ inputs: [
1527
+ {
1528
+ components: [
1529
+ {
1530
+ internalType: "string",
1531
+ name: "name",
1532
+ type: "string",
1533
+ },
1534
+ {
1535
+ internalType: "string",
1536
+ name: "symbol",
1537
+ type: "string",
1538
+ },
1539
+ ],
1540
+ internalType: "struct IGToken.Meta",
1541
+ name: "_meta",
1542
+ type: "tuple",
1543
+ },
1544
+ {
1545
+ components: [
1546
+ {
1547
+ internalType: "address",
1548
+ name: "asset",
1549
+ type: "address",
1550
+ },
1551
+ {
1552
+ internalType: "address",
1553
+ name: "owner",
1554
+ type: "address",
1555
+ },
1556
+ {
1557
+ internalType: "address",
1558
+ name: "manager",
1559
+ type: "address",
1560
+ },
1561
+ {
1562
+ internalType: "address",
1563
+ name: "admin",
1564
+ type: "address",
1565
+ },
1566
+ {
1567
+ internalType: "address",
1568
+ name: "gnsToken",
1569
+ type: "address",
1570
+ },
1571
+ {
1572
+ internalType: "address",
1573
+ name: "lockedDepositNft",
1574
+ type: "address",
1575
+ },
1576
+ {
1577
+ internalType: "address",
1578
+ name: "pnlHandler",
1579
+ type: "address",
1580
+ },
1581
+ {
1582
+ internalType: "address",
1583
+ name: "openTradesPnlFeed",
1584
+ type: "address",
1585
+ },
1586
+ {
1587
+ components: [
1588
+ {
1589
+ internalType: "address",
1590
+ name: "addr",
1591
+ type: "address",
1592
+ },
1593
+ {
1594
+ internalType: "bytes",
1595
+ name: "signature",
1596
+ type: "bytes",
1597
+ },
1598
+ ],
1599
+ internalType: "struct IGToken.GnsPriceProvider",
1600
+ name: "gnsPriceProvider",
1601
+ type: "tuple",
1602
+ },
1603
+ ],
1604
+ internalType: "struct IGToken.ContractAddresses",
1605
+ name: "_contractAddresses",
1606
+ type: "tuple",
1607
+ },
1608
+ {
1609
+ internalType: "uint256",
1610
+ name: "_MIN_LOCK_DURATION",
1611
+ type: "uint256",
1612
+ },
1613
+ {
1614
+ internalType: "uint256",
1615
+ name: "_maxAccOpenPnlDelta",
1616
+ type: "uint256",
1617
+ },
1618
+ {
1619
+ internalType: "uint256",
1620
+ name: "_maxDailyAccPnlDelta",
1621
+ type: "uint256",
1622
+ },
1623
+ {
1624
+ internalType: "uint256[2]",
1625
+ name: "_withdrawLockThresholdsP",
1626
+ type: "uint256[2]",
1627
+ },
1628
+ {
1629
+ internalType: "uint256",
1630
+ name: "_maxSupplyIncreaseDailyP",
1631
+ type: "uint256",
1632
+ },
1633
+ {
1634
+ internalType: "uint256",
1635
+ name: "_lossesBurnP",
1636
+ type: "uint256",
1637
+ },
1638
+ {
1639
+ internalType: "uint256",
1640
+ name: "_maxGnsSupplyMintDailyP",
1641
+ type: "uint256",
1642
+ },
1643
+ {
1644
+ internalType: "uint256",
1645
+ name: "_maxDiscountP",
1646
+ type: "uint256",
1647
+ },
1648
+ {
1649
+ internalType: "uint256",
1650
+ name: "_maxDiscountThresholdP",
1651
+ type: "uint256",
1652
+ },
1653
+ ],
1654
+ name: "initialize",
1655
+ outputs: [],
1656
+ stateMutability: "nonpayable",
1657
+ type: "function",
1658
+ },
1659
+ {
1660
+ inputs: [],
1661
+ name: "initializeV3",
1662
+ outputs: [],
1663
+ stateMutability: "nonpayable",
1664
+ type: "function",
1665
+ },
1666
+ {
1667
+ inputs: [],
1668
+ name: "lastDailyAccPnlDeltaReset",
1669
+ outputs: [
1670
+ {
1671
+ internalType: "uint256",
1672
+ name: "",
1673
+ type: "uint256",
1674
+ },
1675
+ ],
1676
+ stateMutability: "view",
1677
+ type: "function",
1678
+ },
1679
+ {
1680
+ inputs: [],
1681
+ name: "lastDailyMintedGnsReset",
1682
+ outputs: [
1683
+ {
1684
+ internalType: "uint256",
1685
+ name: "",
1686
+ type: "uint256",
1687
+ },
1688
+ ],
1689
+ stateMutability: "view",
1690
+ type: "function",
1691
+ },
1692
+ {
1693
+ inputs: [],
1694
+ name: "lastMaxSupplyUpdate",
1695
+ outputs: [
1696
+ {
1697
+ internalType: "uint256",
1698
+ name: "",
1699
+ type: "uint256",
1700
+ },
1701
+ ],
1702
+ stateMutability: "view",
1703
+ type: "function",
1704
+ },
1705
+ {
1706
+ inputs: [
1707
+ {
1708
+ internalType: "uint256",
1709
+ name: "collatP",
1710
+ type: "uint256",
1711
+ },
1712
+ {
1713
+ internalType: "uint256",
1714
+ name: "lockDuration",
1715
+ type: "uint256",
1716
+ },
1717
+ ],
1718
+ name: "lockDiscountP",
1719
+ outputs: [
1720
+ {
1721
+ internalType: "uint256",
1722
+ name: "",
1723
+ type: "uint256",
1724
+ },
1725
+ ],
1726
+ stateMutability: "view",
1727
+ type: "function",
1728
+ },
1729
+ {
1730
+ inputs: [],
1731
+ name: "lockedDepositNft",
1732
+ outputs: [
1733
+ {
1734
+ internalType: "contract IGTokenLockedDepositNft",
1735
+ name: "",
1736
+ type: "address",
1737
+ },
1738
+ ],
1739
+ stateMutability: "view",
1740
+ type: "function",
1741
+ },
1742
+ {
1743
+ inputs: [
1744
+ {
1745
+ internalType: "uint256",
1746
+ name: "",
1747
+ type: "uint256",
1748
+ },
1749
+ ],
1750
+ name: "lockedDeposits",
1751
+ outputs: [
1752
+ {
1753
+ internalType: "address",
1754
+ name: "owner",
1755
+ type: "address",
1756
+ },
1757
+ {
1758
+ internalType: "uint256",
1759
+ name: "shares",
1760
+ type: "uint256",
1761
+ },
1762
+ {
1763
+ internalType: "uint256",
1764
+ name: "assetsDeposited",
1765
+ type: "uint256",
1766
+ },
1767
+ {
1768
+ internalType: "uint256",
1769
+ name: "assetsDiscount",
1770
+ type: "uint256",
1771
+ },
1772
+ {
1773
+ internalType: "uint256",
1774
+ name: "atTimestamp",
1775
+ type: "uint256",
1776
+ },
1777
+ {
1778
+ internalType: "uint256",
1779
+ name: "lockDuration",
1780
+ type: "uint256",
1781
+ },
1782
+ ],
1783
+ stateMutability: "view",
1784
+ type: "function",
1785
+ },
1786
+ {
1787
+ inputs: [],
1788
+ name: "lockedDepositsCount",
1789
+ outputs: [
1790
+ {
1791
+ internalType: "uint256",
1792
+ name: "",
1793
+ type: "uint256",
1794
+ },
1795
+ ],
1796
+ stateMutability: "view",
1797
+ type: "function",
1798
+ },
1799
+ {
1800
+ inputs: [],
1801
+ name: "lossesBurnP",
1802
+ outputs: [
1803
+ {
1804
+ internalType: "uint256",
1805
+ name: "",
1806
+ type: "uint256",
1807
+ },
1808
+ ],
1809
+ stateMutability: "view",
1810
+ type: "function",
1811
+ },
1812
+ {
1813
+ inputs: [
1814
+ {
1815
+ internalType: "uint256",
1816
+ name: "shares",
1817
+ type: "uint256",
1818
+ },
1819
+ {
1820
+ internalType: "address",
1821
+ name: "owner",
1822
+ type: "address",
1823
+ },
1824
+ ],
1825
+ name: "makeWithdrawRequest",
1826
+ outputs: [],
1827
+ stateMutability: "nonpayable",
1828
+ type: "function",
1829
+ },
1830
+ {
1831
+ inputs: [],
1832
+ name: "manager",
1833
+ outputs: [
1834
+ {
1835
+ internalType: "address",
1836
+ name: "",
1837
+ type: "address",
1838
+ },
1839
+ ],
1840
+ stateMutability: "view",
1841
+ type: "function",
1842
+ },
1843
+ {
1844
+ inputs: [],
1845
+ name: "marketCap",
1846
+ outputs: [
1847
+ {
1848
+ internalType: "uint256",
1849
+ name: "",
1850
+ type: "uint256",
1851
+ },
1852
+ ],
1853
+ stateMutability: "view",
1854
+ type: "function",
1855
+ },
1856
+ {
1857
+ inputs: [],
1858
+ name: "maxAccOpenPnlDelta",
1859
+ outputs: [
1860
+ {
1861
+ internalType: "uint256",
1862
+ name: "",
1863
+ type: "uint256",
1864
+ },
1865
+ ],
1866
+ stateMutability: "view",
1867
+ type: "function",
1868
+ },
1869
+ {
1870
+ inputs: [],
1871
+ name: "maxAccPnlPerToken",
1872
+ outputs: [
1873
+ {
1874
+ internalType: "uint256",
1875
+ name: "",
1876
+ type: "uint256",
1877
+ },
1878
+ ],
1879
+ stateMutability: "view",
1880
+ type: "function",
1881
+ },
1882
+ {
1883
+ inputs: [],
1884
+ name: "maxDailyAccPnlDelta",
1885
+ outputs: [
1886
+ {
1887
+ internalType: "uint256",
1888
+ name: "",
1889
+ type: "uint256",
1890
+ },
1891
+ ],
1892
+ stateMutability: "view",
1893
+ type: "function",
1894
+ },
1895
+ {
1896
+ inputs: [
1897
+ {
1898
+ internalType: "address",
1899
+ name: "owner",
1900
+ type: "address",
1901
+ },
1902
+ ],
1903
+ name: "maxDeposit",
1904
+ outputs: [
1905
+ {
1906
+ internalType: "uint256",
1907
+ name: "",
1908
+ type: "uint256",
1909
+ },
1910
+ ],
1911
+ stateMutability: "view",
1912
+ type: "function",
1913
+ },
1914
+ {
1915
+ inputs: [],
1916
+ name: "maxDiscountP",
1917
+ outputs: [
1918
+ {
1919
+ internalType: "uint256",
1920
+ name: "",
1921
+ type: "uint256",
1922
+ },
1923
+ ],
1924
+ stateMutability: "view",
1925
+ type: "function",
1926
+ },
1927
+ {
1928
+ inputs: [],
1929
+ name: "maxDiscountThresholdP",
1930
+ outputs: [
1931
+ {
1932
+ internalType: "uint256",
1933
+ name: "",
1934
+ type: "uint256",
1935
+ },
1936
+ ],
1937
+ stateMutability: "view",
1938
+ type: "function",
1939
+ },
1940
+ {
1941
+ inputs: [],
1942
+ name: "maxGnsSupplyMintDailyP",
1943
+ outputs: [
1944
+ {
1945
+ internalType: "uint256",
1946
+ name: "",
1947
+ type: "uint256",
1948
+ },
1949
+ ],
1950
+ stateMutability: "view",
1951
+ type: "function",
1952
+ },
1953
+ {
1954
+ inputs: [
1955
+ {
1956
+ internalType: "address",
1957
+ name: "",
1958
+ type: "address",
1959
+ },
1960
+ ],
1961
+ name: "maxMint",
1962
+ outputs: [
1963
+ {
1964
+ internalType: "uint256",
1965
+ name: "",
1966
+ type: "uint256",
1967
+ },
1968
+ ],
1969
+ stateMutability: "view",
1970
+ type: "function",
1971
+ },
1972
+ {
1973
+ inputs: [
1974
+ {
1975
+ internalType: "address",
1976
+ name: "owner",
1977
+ type: "address",
1978
+ },
1979
+ ],
1980
+ name: "maxRedeem",
1981
+ outputs: [
1982
+ {
1983
+ internalType: "uint256",
1984
+ name: "",
1985
+ type: "uint256",
1986
+ },
1987
+ ],
1988
+ stateMutability: "view",
1989
+ type: "function",
1990
+ },
1991
+ {
1992
+ inputs: [],
1993
+ name: "maxSupplyIncreaseDailyP",
1994
+ outputs: [
1995
+ {
1996
+ internalType: "uint256",
1997
+ name: "",
1998
+ type: "uint256",
1999
+ },
2000
+ ],
2001
+ stateMutability: "view",
2002
+ type: "function",
2003
+ },
2004
+ {
2005
+ inputs: [
2006
+ {
2007
+ internalType: "address",
2008
+ name: "owner",
2009
+ type: "address",
2010
+ },
2011
+ ],
2012
+ name: "maxWithdraw",
2013
+ outputs: [
2014
+ {
2015
+ internalType: "uint256",
2016
+ name: "",
2017
+ type: "uint256",
2018
+ },
2019
+ ],
2020
+ stateMutability: "view",
2021
+ type: "function",
2022
+ },
2023
+ {
2024
+ inputs: [
2025
+ {
2026
+ internalType: "uint256",
2027
+ name: "shares",
2028
+ type: "uint256",
2029
+ },
2030
+ {
2031
+ internalType: "address",
2032
+ name: "receiver",
2033
+ type: "address",
2034
+ },
2035
+ ],
2036
+ name: "mint",
2037
+ outputs: [
2038
+ {
2039
+ internalType: "uint256",
2040
+ name: "",
2041
+ type: "uint256",
2042
+ },
2043
+ ],
2044
+ stateMutability: "nonpayable",
2045
+ type: "function",
2046
+ },
2047
+ {
2048
+ inputs: [
2049
+ {
2050
+ internalType: "uint256",
2051
+ name: "shares",
2052
+ type: "uint256",
2053
+ },
2054
+ {
2055
+ internalType: "uint256",
2056
+ name: "lockDuration",
2057
+ type: "uint256",
2058
+ },
2059
+ {
2060
+ internalType: "address",
2061
+ name: "receiver",
2062
+ type: "address",
2063
+ },
2064
+ ],
2065
+ name: "mintWithDiscountAndLock",
2066
+ outputs: [
2067
+ {
2068
+ internalType: "uint256",
2069
+ name: "",
2070
+ type: "uint256",
2071
+ },
2072
+ ],
2073
+ stateMutability: "nonpayable",
2074
+ type: "function",
2075
+ },
2076
+ {
2077
+ inputs: [],
2078
+ name: "name",
2079
+ outputs: [
2080
+ {
2081
+ internalType: "string",
2082
+ name: "",
2083
+ type: "string",
2084
+ },
2085
+ ],
2086
+ stateMutability: "view",
2087
+ type: "function",
2088
+ },
2089
+ {
2090
+ inputs: [],
2091
+ name: "openTradesPnlFeed",
2092
+ outputs: [
2093
+ {
2094
+ internalType: "contract IGTokenOpenPnlFeed",
2095
+ name: "",
2096
+ type: "address",
2097
+ },
2098
+ ],
2099
+ stateMutability: "view",
2100
+ type: "function",
2101
+ },
2102
+ {
2103
+ inputs: [],
2104
+ name: "owner",
2105
+ outputs: [
2106
+ {
2107
+ internalType: "address",
2108
+ name: "",
2109
+ type: "address",
2110
+ },
2111
+ ],
2112
+ stateMutability: "view",
2113
+ type: "function",
2114
+ },
2115
+ {
2116
+ inputs: [],
2117
+ name: "pnlHandler",
2118
+ outputs: [
2119
+ {
2120
+ internalType: "address",
2121
+ name: "",
2122
+ type: "address",
2123
+ },
2124
+ ],
2125
+ stateMutability: "view",
2126
+ type: "function",
2127
+ },
2128
+ {
2129
+ inputs: [
2130
+ {
2131
+ internalType: "uint256",
2132
+ name: "assets",
2133
+ type: "uint256",
2134
+ },
2135
+ ],
2136
+ name: "previewDeposit",
2137
+ outputs: [
2138
+ {
2139
+ internalType: "uint256",
2140
+ name: "",
2141
+ type: "uint256",
2142
+ },
2143
+ ],
2144
+ stateMutability: "view",
2145
+ type: "function",
2146
+ },
2147
+ {
2148
+ inputs: [
2149
+ {
2150
+ internalType: "uint256",
2151
+ name: "shares",
2152
+ type: "uint256",
2153
+ },
2154
+ ],
2155
+ name: "previewMint",
2156
+ outputs: [
2157
+ {
2158
+ internalType: "uint256",
2159
+ name: "",
2160
+ type: "uint256",
2161
+ },
2162
+ ],
2163
+ stateMutability: "view",
2164
+ type: "function",
2165
+ },
2166
+ {
2167
+ inputs: [
2168
+ {
2169
+ internalType: "uint256",
2170
+ name: "shares",
2171
+ type: "uint256",
2172
+ },
2173
+ ],
2174
+ name: "previewRedeem",
2175
+ outputs: [
2176
+ {
2177
+ internalType: "uint256",
2178
+ name: "",
2179
+ type: "uint256",
2180
+ },
2181
+ ],
2182
+ stateMutability: "view",
2183
+ type: "function",
2184
+ },
2185
+ {
2186
+ inputs: [
2187
+ {
2188
+ internalType: "uint256",
2189
+ name: "assets",
2190
+ type: "uint256",
2191
+ },
2192
+ ],
2193
+ name: "previewWithdraw",
2194
+ outputs: [
2195
+ {
2196
+ internalType: "uint256",
2197
+ name: "",
2198
+ type: "uint256",
2199
+ },
2200
+ ],
2201
+ stateMutability: "view",
2202
+ type: "function",
2203
+ },
2204
+ {
2205
+ inputs: [
2206
+ {
2207
+ internalType: "uint256",
2208
+ name: "assets",
2209
+ type: "uint256",
2210
+ },
2211
+ {
2212
+ internalType: "address",
2213
+ name: "user",
2214
+ type: "address",
2215
+ },
2216
+ ],
2217
+ name: "receiveAssets",
2218
+ outputs: [],
2219
+ stateMutability: "nonpayable",
2220
+ type: "function",
2221
+ },
2222
+ {
2223
+ inputs: [
2224
+ {
2225
+ internalType: "uint256",
2226
+ name: "shares",
2227
+ type: "uint256",
2228
+ },
2229
+ {
2230
+ internalType: "address",
2231
+ name: "receiver",
2232
+ type: "address",
2233
+ },
2234
+ {
2235
+ internalType: "address",
2236
+ name: "owner",
2237
+ type: "address",
2238
+ },
2239
+ ],
2240
+ name: "redeem",
2241
+ outputs: [
2242
+ {
2243
+ internalType: "uint256",
2244
+ name: "",
2245
+ type: "uint256",
2246
+ },
2247
+ ],
2248
+ stateMutability: "nonpayable",
2249
+ type: "function",
2250
+ },
2251
+ {
2252
+ inputs: [
2253
+ {
2254
+ internalType: "uint256",
2255
+ name: "assets",
2256
+ type: "uint256",
2257
+ },
2258
+ ],
2259
+ name: "refill",
2260
+ outputs: [],
2261
+ stateMutability: "nonpayable",
2262
+ type: "function",
2263
+ },
2264
+ {
2265
+ inputs: [],
2266
+ name: "renounceOwnership",
2267
+ outputs: [],
2268
+ stateMutability: "nonpayable",
2269
+ type: "function",
2270
+ },
2271
+ {
2272
+ inputs: [
2273
+ {
2274
+ internalType: "uint256",
2275
+ name: "assets",
2276
+ type: "uint256",
2277
+ },
2278
+ {
2279
+ internalType: "address",
2280
+ name: "receiver",
2281
+ type: "address",
2282
+ },
2283
+ ],
2284
+ name: "sendAssets",
2285
+ outputs: [],
2286
+ stateMutability: "nonpayable",
2287
+ type: "function",
2288
+ },
2289
+ {
2290
+ inputs: [],
2291
+ name: "shareToAssetsPrice",
2292
+ outputs: [
2293
+ {
2294
+ internalType: "uint256",
2295
+ name: "",
2296
+ type: "uint256",
2297
+ },
2298
+ ],
2299
+ stateMutability: "view",
2300
+ type: "function",
2301
+ },
2302
+ {
2303
+ inputs: [],
2304
+ name: "symbol",
2305
+ outputs: [
2306
+ {
2307
+ internalType: "string",
2308
+ name: "",
2309
+ type: "string",
2310
+ },
2311
+ ],
2312
+ stateMutability: "view",
2313
+ type: "function",
2314
+ },
2315
+ {
2316
+ inputs: [],
2317
+ name: "totalAssets",
2318
+ outputs: [
2319
+ {
2320
+ internalType: "uint256",
2321
+ name: "",
2322
+ type: "uint256",
2323
+ },
2324
+ ],
2325
+ stateMutability: "view",
2326
+ type: "function",
2327
+ },
2328
+ {
2329
+ inputs: [],
2330
+ name: "totalClosedPnl",
2331
+ outputs: [
2332
+ {
2333
+ internalType: "int256",
2334
+ name: "",
2335
+ type: "int256",
2336
+ },
2337
+ ],
2338
+ stateMutability: "view",
2339
+ type: "function",
2340
+ },
2341
+ {
2342
+ inputs: [],
2343
+ name: "totalDepleted",
2344
+ outputs: [
2345
+ {
2346
+ internalType: "uint256",
2347
+ name: "",
2348
+ type: "uint256",
2349
+ },
2350
+ ],
2351
+ stateMutability: "view",
2352
+ type: "function",
2353
+ },
2354
+ {
2355
+ inputs: [],
2356
+ name: "totalDepletedGns",
2357
+ outputs: [
2358
+ {
2359
+ internalType: "uint256",
2360
+ name: "",
2361
+ type: "uint256",
2362
+ },
2363
+ ],
2364
+ stateMutability: "view",
2365
+ type: "function",
2366
+ },
2367
+ {
2368
+ inputs: [],
2369
+ name: "totalDeposited",
2370
+ outputs: [
2371
+ {
2372
+ internalType: "uint256",
2373
+ name: "",
2374
+ type: "uint256",
2375
+ },
2376
+ ],
2377
+ stateMutability: "view",
2378
+ type: "function",
2379
+ },
2380
+ {
2381
+ inputs: [],
2382
+ name: "totalDiscounts",
2383
+ outputs: [
2384
+ {
2385
+ internalType: "uint256",
2386
+ name: "",
2387
+ type: "uint256",
2388
+ },
2389
+ ],
2390
+ stateMutability: "view",
2391
+ type: "function",
2392
+ },
2393
+ {
2394
+ inputs: [],
2395
+ name: "totalLiability",
2396
+ outputs: [
2397
+ {
2398
+ internalType: "int256",
2399
+ name: "",
2400
+ type: "int256",
2401
+ },
2402
+ ],
2403
+ stateMutability: "view",
2404
+ type: "function",
2405
+ },
2406
+ {
2407
+ inputs: [],
2408
+ name: "totalLockedDiscounts",
2409
+ outputs: [
2410
+ {
2411
+ internalType: "uint256",
2412
+ name: "",
2413
+ type: "uint256",
2414
+ },
2415
+ ],
2416
+ stateMutability: "view",
2417
+ type: "function",
2418
+ },
2419
+ {
2420
+ inputs: [],
2421
+ name: "totalRefilled",
2422
+ outputs: [
2423
+ {
2424
+ internalType: "uint256",
2425
+ name: "",
2426
+ type: "uint256",
2427
+ },
2428
+ ],
2429
+ stateMutability: "view",
2430
+ type: "function",
2431
+ },
2432
+ {
2433
+ inputs: [],
2434
+ name: "totalRefilledGns",
2435
+ outputs: [
2436
+ {
2437
+ internalType: "uint256",
2438
+ name: "",
2439
+ type: "uint256",
2440
+ },
2441
+ ],
2442
+ stateMutability: "view",
2443
+ type: "function",
2444
+ },
2445
+ {
2446
+ inputs: [],
2447
+ name: "totalRewards",
2448
+ outputs: [
2449
+ {
2450
+ internalType: "uint256",
2451
+ name: "",
2452
+ type: "uint256",
2453
+ },
2454
+ ],
2455
+ stateMutability: "view",
2456
+ type: "function",
2457
+ },
2458
+ {
2459
+ inputs: [
2460
+ {
2461
+ internalType: "address",
2462
+ name: "owner",
2463
+ type: "address",
2464
+ },
2465
+ ],
2466
+ name: "totalSharesBeingWithdrawn",
2467
+ outputs: [
2468
+ {
2469
+ internalType: "uint256",
2470
+ name: "shares",
2471
+ type: "uint256",
2472
+ },
2473
+ ],
2474
+ stateMutability: "view",
2475
+ type: "function",
2476
+ },
2477
+ {
2478
+ inputs: [],
2479
+ name: "totalSupply",
2480
+ outputs: [
2481
+ {
2482
+ internalType: "uint256",
2483
+ name: "",
2484
+ type: "uint256",
2485
+ },
2486
+ ],
2487
+ stateMutability: "view",
2488
+ type: "function",
2489
+ },
2490
+ {
2491
+ inputs: [
2492
+ {
2493
+ internalType: "address",
2494
+ name: "to",
2495
+ type: "address",
2496
+ },
2497
+ {
2498
+ internalType: "uint256",
2499
+ name: "amount",
2500
+ type: "uint256",
2501
+ },
2502
+ ],
2503
+ name: "transfer",
2504
+ outputs: [
2505
+ {
2506
+ internalType: "bool",
2507
+ name: "",
2508
+ type: "bool",
2509
+ },
2510
+ ],
2511
+ stateMutability: "nonpayable",
2512
+ type: "function",
2513
+ },
2514
+ {
2515
+ inputs: [
2516
+ {
2517
+ internalType: "address",
2518
+ name: "from",
2519
+ type: "address",
2520
+ },
2521
+ {
2522
+ internalType: "address",
2523
+ name: "to",
2524
+ type: "address",
2525
+ },
2526
+ {
2527
+ internalType: "uint256",
2528
+ name: "amount",
2529
+ type: "uint256",
2530
+ },
2531
+ ],
2532
+ name: "transferFrom",
2533
+ outputs: [
2534
+ {
2535
+ internalType: "bool",
2536
+ name: "",
2537
+ type: "bool",
2538
+ },
2539
+ ],
2540
+ stateMutability: "nonpayable",
2541
+ type: "function",
2542
+ },
2543
+ {
2544
+ inputs: [
2545
+ {
2546
+ internalType: "address",
2547
+ name: "newOwner",
2548
+ type: "address",
2549
+ },
2550
+ ],
2551
+ name: "transferOwnership",
2552
+ outputs: [],
2553
+ stateMutability: "nonpayable",
2554
+ type: "function",
2555
+ },
2556
+ {
2557
+ inputs: [],
2558
+ name: "tryNewOpenPnlRequestOrEpoch",
2559
+ outputs: [],
2560
+ stateMutability: "nonpayable",
2561
+ type: "function",
2562
+ },
2563
+ {
2564
+ inputs: [],
2565
+ name: "tryResetDailyAccPnlDelta",
2566
+ outputs: [],
2567
+ stateMutability: "nonpayable",
2568
+ type: "function",
2569
+ },
2570
+ {
2571
+ inputs: [],
2572
+ name: "tryUpdateCurrentMaxSupply",
2573
+ outputs: [],
2574
+ stateMutability: "nonpayable",
2575
+ type: "function",
2576
+ },
2577
+ {
2578
+ inputs: [],
2579
+ name: "tvl",
2580
+ outputs: [
2581
+ {
2582
+ internalType: "uint256",
2583
+ name: "",
2584
+ type: "uint256",
2585
+ },
2586
+ ],
2587
+ stateMutability: "view",
2588
+ type: "function",
2589
+ },
2590
+ {
2591
+ inputs: [
2592
+ {
2593
+ internalType: "uint256",
2594
+ name: "depositId",
2595
+ type: "uint256",
2596
+ },
2597
+ {
2598
+ internalType: "address",
2599
+ name: "receiver",
2600
+ type: "address",
2601
+ },
2602
+ ],
2603
+ name: "unlockDeposit",
2604
+ outputs: [],
2605
+ stateMutability: "nonpayable",
2606
+ type: "function",
2607
+ },
2608
+ {
2609
+ inputs: [
2610
+ {
2611
+ internalType: "uint256",
2612
+ name: "prevPositiveOpenPnl",
2613
+ type: "uint256",
2614
+ },
2615
+ {
2616
+ internalType: "uint256",
2617
+ name: "newPositiveOpenPnl",
2618
+ type: "uint256",
2619
+ },
2620
+ ],
2621
+ name: "updateAccPnlPerTokenUsed",
2622
+ outputs: [
2623
+ {
2624
+ internalType: "uint256",
2625
+ name: "",
2626
+ type: "uint256",
2627
+ },
2628
+ ],
2629
+ stateMutability: "nonpayable",
2630
+ type: "function",
2631
+ },
2632
+ {
2633
+ inputs: [
2634
+ {
2635
+ internalType: "address",
2636
+ name: "newValue",
2637
+ type: "address",
2638
+ },
2639
+ ],
2640
+ name: "updateAdmin",
2641
+ outputs: [],
2642
+ stateMutability: "nonpayable",
2643
+ type: "function",
2644
+ },
2645
+ {
2646
+ inputs: [
2647
+ {
2648
+ internalType: "address",
2649
+ name: "_delegatee",
2650
+ type: "address",
2651
+ },
2652
+ ],
2653
+ name: "updateDelegatee",
2654
+ outputs: [],
2655
+ stateMutability: "nonpayable",
2656
+ type: "function",
2657
+ },
2658
+ {
2659
+ inputs: [
2660
+ {
2661
+ components: [
2662
+ {
2663
+ internalType: "address",
2664
+ name: "addr",
2665
+ type: "address",
2666
+ },
2667
+ {
2668
+ internalType: "bytes",
2669
+ name: "signature",
2670
+ type: "bytes",
2671
+ },
2672
+ ],
2673
+ internalType: "struct IGToken.GnsPriceProvider",
2674
+ name: "newValue",
2675
+ type: "tuple",
2676
+ },
2677
+ ],
2678
+ name: "updateGnsPriceProvider",
2679
+ outputs: [],
2680
+ stateMutability: "nonpayable",
2681
+ type: "function",
2682
+ },
2683
+ {
2684
+ inputs: [
2685
+ {
2686
+ internalType: "uint256",
2687
+ name: "newValue",
2688
+ type: "uint256",
2689
+ },
2690
+ ],
2691
+ name: "updateLossesBurnP",
2692
+ outputs: [],
2693
+ stateMutability: "nonpayable",
2694
+ type: "function",
2695
+ },
2696
+ {
2697
+ inputs: [
2698
+ {
2699
+ internalType: "address",
2700
+ name: "newValue",
2701
+ type: "address",
2702
+ },
2703
+ ],
2704
+ name: "updateManager",
2705
+ outputs: [],
2706
+ stateMutability: "nonpayable",
2707
+ type: "function",
2708
+ },
2709
+ {
2710
+ inputs: [
2711
+ {
2712
+ internalType: "uint256",
2713
+ name: "newValue",
2714
+ type: "uint256",
2715
+ },
2716
+ ],
2717
+ name: "updateMaxAccOpenPnlDelta",
2718
+ outputs: [],
2719
+ stateMutability: "nonpayable",
2720
+ type: "function",
2721
+ },
2722
+ {
2723
+ inputs: [
2724
+ {
2725
+ internalType: "uint256",
2726
+ name: "newValue",
2727
+ type: "uint256",
2728
+ },
2729
+ ],
2730
+ name: "updateMaxDailyAccPnlDelta",
2731
+ outputs: [],
2732
+ stateMutability: "nonpayable",
2733
+ type: "function",
2734
+ },
2735
+ {
2736
+ inputs: [
2737
+ {
2738
+ internalType: "uint256",
2739
+ name: "newValue",
2740
+ type: "uint256",
2741
+ },
2742
+ ],
2743
+ name: "updateMaxDiscountP",
2744
+ outputs: [],
2745
+ stateMutability: "nonpayable",
2746
+ type: "function",
2747
+ },
2748
+ {
2749
+ inputs: [
2750
+ {
2751
+ internalType: "uint256",
2752
+ name: "newValue",
2753
+ type: "uint256",
2754
+ },
2755
+ ],
2756
+ name: "updateMaxDiscountThresholdP",
2757
+ outputs: [],
2758
+ stateMutability: "nonpayable",
2759
+ type: "function",
2760
+ },
2761
+ {
2762
+ inputs: [
2763
+ {
2764
+ internalType: "uint256",
2765
+ name: "newValue",
2766
+ type: "uint256",
2767
+ },
2768
+ ],
2769
+ name: "updateMaxGnsSupplyMintDailyP",
2770
+ outputs: [],
2771
+ stateMutability: "nonpayable",
2772
+ type: "function",
2773
+ },
2774
+ {
2775
+ inputs: [
2776
+ {
2777
+ internalType: "uint256",
2778
+ name: "newValue",
2779
+ type: "uint256",
2780
+ },
2781
+ ],
2782
+ name: "updateMaxSupplyIncreaseDailyP",
2783
+ outputs: [],
2784
+ stateMutability: "nonpayable",
2785
+ type: "function",
2786
+ },
2787
+ {
2788
+ inputs: [
2789
+ {
2790
+ internalType: "address",
2791
+ name: "newValue",
2792
+ type: "address",
2793
+ },
2794
+ ],
2795
+ name: "updateOpenTradesPnlFeed",
2796
+ outputs: [],
2797
+ stateMutability: "nonpayable",
2798
+ type: "function",
2799
+ },
2800
+ {
2801
+ inputs: [
2802
+ {
2803
+ internalType: "address",
2804
+ name: "newValue",
2805
+ type: "address",
2806
+ },
2807
+ ],
2808
+ name: "updatePnlHandler",
2809
+ outputs: [],
2810
+ stateMutability: "nonpayable",
2811
+ type: "function",
2812
+ },
2813
+ {
2814
+ inputs: [
2815
+ {
2816
+ internalType: "uint256[2]",
2817
+ name: "newValue",
2818
+ type: "uint256[2]",
2819
+ },
2820
+ ],
2821
+ name: "updateWithdrawLockThresholdsP",
2822
+ outputs: [],
2823
+ stateMutability: "nonpayable",
2824
+ type: "function",
2825
+ },
2826
+ {
2827
+ inputs: [
2828
+ {
2829
+ internalType: "uint256",
2830
+ name: "assets",
2831
+ type: "uint256",
2832
+ },
2833
+ {
2834
+ internalType: "address",
2835
+ name: "receiver",
2836
+ type: "address",
2837
+ },
2838
+ {
2839
+ internalType: "address",
2840
+ name: "owner",
2841
+ type: "address",
2842
+ },
2843
+ ],
2844
+ name: "withdraw",
2845
+ outputs: [
2846
+ {
2847
+ internalType: "uint256",
2848
+ name: "",
2849
+ type: "uint256",
2850
+ },
2851
+ ],
2852
+ stateMutability: "nonpayable",
2853
+ type: "function",
2854
+ },
2855
+ {
2856
+ inputs: [],
2857
+ name: "withdrawEpochsTimelock",
2858
+ outputs: [
2859
+ {
2860
+ internalType: "uint256",
2861
+ name: "",
2862
+ type: "uint256",
2863
+ },
2864
+ ],
2865
+ stateMutability: "view",
2866
+ type: "function",
2867
+ },
2868
+ {
2869
+ inputs: [
2870
+ {
2871
+ internalType: "uint256",
2872
+ name: "",
2873
+ type: "uint256",
2874
+ },
2875
+ ],
2876
+ name: "withdrawLockThresholdsP",
2877
+ outputs: [
2878
+ {
2879
+ internalType: "uint256",
2880
+ name: "",
2881
+ type: "uint256",
2882
+ },
2883
+ ],
2884
+ stateMutability: "view",
2885
+ type: "function",
2886
+ },
2887
+ {
2888
+ inputs: [
2889
+ {
2890
+ internalType: "address",
2891
+ name: "",
2892
+ type: "address",
2893
+ },
2894
+ {
2895
+ internalType: "uint256",
2896
+ name: "",
2897
+ type: "uint256",
2898
+ },
2899
+ ],
2900
+ name: "withdrawRequests",
2901
+ outputs: [
2902
+ {
2903
+ internalType: "uint256",
2904
+ name: "",
2905
+ type: "uint256",
2906
+ },
2907
+ ],
2908
+ stateMutability: "view",
2909
+ type: "function",
2910
+ },
2911
+ ];
2912
+ const _bytecode = "0x608060405234801561001057600080fd5b506159a180620000216000396000f3fe608060405234801561001057600080fd5b506004361061060c5760003560e01c80638da5cb5b1161031d578063ce9e1b21116101a9578063e7839676116100fa578063f2fde38b116100a8578063f2fde38b14610d52578063f31bd8f714610d65578063f5521eaa14610d6e578063f851a44014610d81578063f8fb10f714610d94578063faf33f2914610d9d578063fe0b6d9014610da6578063ff50abdc14610db957600080fd5b8063e783967614610cb9578063e7899c0614610d1c578063e8e4311014610d24578063ea5f2bba14610d37578063ef01ed9314610d40578063ef8b30f714610b97578063f0a7744614610d4957600080fd5b8063db0447d511610157578063db0447d514610c5d578063dd62ed3e14610c66578063ddd65e3114610c79578063e065600514610c82578063e2f273bd14610c8b578063e5328e0614610c9e578063e66a6e3b14610ca657600080fd5b8063ce9e1b2114610be3578063cf39c2db14610bf6578063d1e08c2014610c09578063d229b2dd14610c1c578063d272df1014610c2f578063d8bdfd4814610c42578063d905777e14610c4a57600080fd5b8063b3c4850a1161026e578063c117ef3d1161021c578063c117ef3d14610b60578063c4c1416914610b69578063c63384ab14610b7c578063c63d75b614610b84578063c6e6f59214610b97578063ca9d07ba14610baa578063cb7f2c3914610bbd578063ce96cb7714610bd057600080fd5b8063b3c4850a14610a75578063b3d7f6b914610a88578063b460af9414610a9b578063b54bf9c914610aae578063b82c589914610ac1578063ba08765214610b45578063be216e8314610b5857600080fd5b8063a481c14b116102cb578063a481c14b146109fa578063a50043a014610a0d578063a8abe90514610a20578063a8de021d14610a33578063a9059cbb14610a46578063ad00a5a414610a59578063b224e73514610a6c57600080fd5b80638da5cb5b1461098c578063940a4e451461099d57806394bf804d146109b057806395d89b41146109c3578063979abb25146109cb5780639aca06dc146109de578063a457c2d7146109e757600080fd5b8063481c6a751161049c5780636ce7dcc9116103ed57806375cd9da91161039b57806375cd9da91461093a578063766718081461094357806378b4330f1461094c57806379431d9c146109555780637dfc6922146109685780637fcff2af146109715780638c4656291461097a5780638d6cb2881461098357600080fd5b80636ce7dcc9146108a85780636d6ca319146108bb5780636e553f65146108e65780636ee432f2146108f957806370a082311461090c578063715018a61461091f5780637361a5441461092757600080fd5b80635a6953d31161044a5780635a6953d31461082b5780635c0ab4de1461083e5780635e93f8601461087c5780635f4ae7411461088557806361a8c8c41461088e5780636445ec001461089757806366d8ecf11461089f57600080fd5b8063481c6a75146107ca5780634cdad506146106725780634ea0ddf7146107dd57806353409be2146107e657806354508847146107ef57806358aba00f14610802578063596f0bc51461081557600080fd5b80631f91f287116105615780632c135b931161050f5780632c135b9314610757578063313ce5671461075f57806338d52e0f1461077957806338e454b11461078a57806339509351146107925780633b418c1e146107a55780633cc77527146107ae578063402d267d146107b757600080fd5b80631f91f287146106ef5780631fc8d0991461070f57806320124bce1461071757806320e70a561461071f578063215e2fae1461073257806322b2ef851461073b57806323b872dd1461074457600080fd5b80630a28a477116105be5780630a28a477146106a85780630dfb5287146106bb5780630e15561a146106c35780630fc29349146106cc5780630fcc6f31146106d5578063104aeef8146106de57806318160ddd146106e757600080fd5b806301e1d114146106115780630307604f1461062c5780630344e8a31461063557806306fdde031461064a57806307484a681461065f57806307a2d13a14610672578063095ea7b314610685575b600080fd5b610619610dc2565b6040519081526020015b60405180910390f35b61061960f75481565b610648610643366004614c9e565b610e39565b005b6106526111d7565b6040516106239190614d1e565b61064861066d366004614d31565b611269565b610619610680366004614d4e565b6112b6565b610698610693366004614d67565b6112c9565b6040519015158152602001610623565b6106196106b6366004614d4e565b6112e1565b6106486112ee565b61061960ef5481565b61061960f05481565b61061960ee5481565b61061960e55481565b603554610619565b60ce54610702906001600160a01b031681565b6040516106239190614d93565b6106196113a8565b61061961146a565b61064861072d366004614d31565b6114a7565b61061960e85481565b61061960e65481565b610698610752366004614da7565b61152c565b610619611587565b61076761159e565b60405160ff9091168152602001610623565b6065546001600160a01b0316610702565b6106486115a8565b6106986107a0366004614d67565b611678565b61061960d45481565b61061960d95481565b6106196107c5366004614d31565b61169a565b60cb54610702906001600160a01b031681565b61061960de5481565b61061960f15481565b6106486107fd366004614d4e565b6116af565b610648610810366004614d31565b61171f565b61081d6117e0565b604051610623929190614de8565b60cd54610702906001600160a01b031681565b60f95461085c906001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610623565b61061960e05481565b61061960f55481565b61061960e35481565b610648611881565b61061960ea5481565b6106486108b6366004614d4e565b611922565b6106196108c9366004614d67565b60e760209081526000928352604080842090915290825290205481565b6106196108f4366004614c9e565b611a8e565b610619610907366004614d4e565b611af2565b61061961091a366004614d31565b611b09565b610648611b24565b610619610935366004614e0c565b611b36565b61061960d85481565b61061960e25481565b61061960d15481565b60ca54610702906001600160a01b031681565b61061960db5481565b61061960df5481565b61061960eb5481565b61061960f85481565b6097546001600160a01b0316610702565b6106486109ab366004614d4e565b611d11565b6106196109be366004614c9e565b611def565b610652611e49565b6106486109d9366004614d4e565b611e58565b61061960f25481565b6106986109f5366004614d67565b611ec8565b610648610a08366004614c9e565b611f4e565b610648610a1b366004614e2e565b6120ee565b610648610a2e366004614c9e565b612222565b610648610a4136600461515c565b6123e8565b610698610a54366004614d67565b61281c565b610619610a67366004614d31565b612866565b61061960e15481565b610619610a83366004615221565b6128e5565b610619610a96366004614d4e565b61299d565b610619610aa936600461525a565b6129aa565b610648610abc366004615291565b612a4c565b610b0e610acf366004614d4e565b60e9602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039094169492939192909186565b604080516001600160a01b0390971687526020870195909552938501929092526060840152608083015260a082015260c001610623565b610619610b5336600461525a565b612b0b565b610619612ba1565b61061960f45481565b610648610b77366004614d4e565b612bb9565b610619612c29565b610619610b92366004614d31565b612c9a565b610619610ba5366004614d4e565b612cc9565b610648610bb8366004614d4e565b612cd6565b60c954610702906001600160a01b031681565b610619610bde366004614d31565b612fd7565b610648610bf1366004614d4e565b612fe5565b610648610c04366004614d4e565b613055565b610619610c17366004614e0c565b6130c5565b610648610c2a366004614d31565b61315a565b610648610c3d366004614d4e565b6131d4565b610619613211565b610619610c58366004614d31565b6132b5565b61061960d75481565b610619610c743660046152c5565b61336e565b61061960dd5481565b61061960ec5481565b610648610c99366004614d31565b613399565b61061961345a565b610648610cb4366004614c9e565b613476565b610ccc610cc7366004614d4e565b613614565b604051610623919081516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0918201519181019190915260c00190565b6106486136b8565b610619610d32366004615221565b613703565b61061960dc5481565b61061960f65481565b61061960d35481565b610648610d60366004614d31565b6137b0565b61061960f35481565b610648610d7c3660046152f3565b613832565b60cc54610702906001600160a01b031681565b61061960da5481565b61061960e45481565b610648610db4366004614d4e565b61389c565b61061960ed5481565b6065546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610df3903090600401614d93565b602060405180830381865afa158015610e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e34919061530f565b905090565b600082815260e960205260408120903360ca546040516331a9108f60e11b8152600481018790529192506000916001600160a01b0390911690636352211e90602401602060405180830381865afa158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc9190615328565b9050816001600160a01b0316816001600160a01b031614158015610f56575060ca5460405163020604bf60e21b8152600481018790526001600160a01b0384811692169063081812fc90602401602060405180830381865afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a9190615328565b6001600160a01b031614155b8015610fd5575060ca5460405163e985e9c560e01b81526001600160a01b03838116600483015284811660248301529091169063e985e9c590604401602060405180830381865afa158015610faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd39190615345565b155b15610ff357604051631eb49d6d60e11b815260040160405180910390fd5b82600501548360040154611007919061537d565b4210156110275760405163fa68006560e01b815260040160405180910390fd5b60f95460009061106e9061104e906001600160801b0380821691600160801b900416615390565b6001600160801b031661106060355490565b60038701549190600161390c565b90508060de600082825461108291906153bb565b909155506110909050612ba1565b60de5413156110b257604051630de1bf7560e21b815260040160405180910390fd5b60ca54604051630852cd8d60e31b8152600481018890526001600160a01b03909116906342966c6890602401600060405180830381600087803b1580156110f857600080fd5b505af115801561110c573d6000803e3d6000fd5b505050508060dd600082825461112291906153bb565b90915550611130905061396b565b836003015460f0600082825461114691906153bb565b9091555050600384015460f180546000906111629084906153db565b92505081905550611178308686600101546139c7565b816001600160a01b0316856001600160a01b0316846001600160a01b03167fe37405a4f414fe3119839681cc26ea3462fc575fd2f81734417e52144d3f34b989886040516111c79291906153ee565b60405180910390a4505050505050565b6060603680546111e690615438565b80601f016020809104026020016040519081016040528092919081815260200182805461121290615438565b801561125f5780601f106112345761010080835404028352916020019161125f565b820191906000526020600020905b81548152906001019060200180831161124257829003601f168201915b5050505050905090565b611271613b59565b6001600160a01b03811661129857604051639fabe1c160e01b815260040160405180910390fd5b6112b36112ad6065546001600160a01b031690565b82613b8d565b50565b60006112c3826000613c79565b92915050565b6000336112d7818585613cba565b5060019392505050565b60006112c3826001613dd6565b60ce5460408051600481526024810182526020810180516001600160e01b031663bef35b7960e01b17905290516000926001600160a01b0316916113319161546c565b6000604051808303816000865af19150503d806000811461136e576040519150601f19603f3d011682016040523d82523d6000602084013e611373565b606091505b50509050806112b3576040517f46f2d6138acb3be39ad6ae5c9279b648c2a2c68743d0ddc18cc3a81cedecebd590600090a150565b60cf54604051600091829182916001600160a01b0316906113cb9060d090615488565b600060405180830381855afa9150503d8060008114611406576040519150601f19603f3d011682016040523d82523d6000602084013e61140b565b606091505b50915091508161142e57604051636f083c9360e11b815260040160405180910390fd5b80806020019051810190611442919061530f565b92508260000361146557604051633411242960e01b815260040160405180910390fd5b505090565b6000670de0b6b3a764000061147e60355490565b60dd54611489612ba1565b61149391906154fe565b61149d919061551e565b610e34919061554b565b6114af613df2565b6001600160a01b0381166114d657604051639fabe1c160e01b815260040160405180910390fd5b60ce80546001600160a01b0319166001600160a01b0383161790556040517f01776d11c598ace30615fd841ba9a298e4c2e05117ffe017350f6c82f90ec65b90611521908390614d93565b60405180910390a150565b60008161153885611b09565b61154291906153db565b61154b85612866565b111561156a5760405163423023f160e01b815260040160405180910390fd5b611575843384613e4c565b6112d78484846139c7565b9392505050565b6000670de0b6b3a764000060dc5461149360355490565b6000610e34613ec0565b600054600390610100900460ff161580156115ca575060005460ff8083169116105b6115ef5760405162461bcd60e51b81526004016115e69061555f565b60405180910390fd5b6000805461ffff191660ff83161761010017905561161d6116186065546001600160a01b031690565b613eda565b80516020918201516001600160801b03908116600160801b0291161760f9556000805461ff001916905560405160ff831681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989101611521565b6000336112d781858561168b838361336e565b611695919061537d565b613cba565b60006112c36116a883612c9a565b6000613c79565b6116b7613b59565b6116ca600a670de0b6b3a764000061554b565b8110156116ea576040516310906acb60e01b815260040160405180910390fd5b60d48190556040518181527f3f492ea436011f4e8f9e72a79808bac0d090849accb8de654f74ab6d30d825cb90602001611521565b611727613df2565b6001600160a01b03811661174e57604051639fabe1c160e01b815260040160405180910390fd5b6097546001600160a01b0382811691161480611777575060cc546001600160a01b038281169116145b1561179557604051632635240760e21b815260040160405180910390fd5b60cb80546001600160a01b0319166001600160a01b0383161790556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d90611521908390614d93565b60cf805460d080546001600160a01b0390921692916117fe90615438565b80601f016020809104026020016040519081016040528092919081815260200182805461182a90615438565b80156118775780601f1061184c57610100808354040283529160200191611877565b820191906000526020600020905b81548152906001019060200180831161185a57829003601f168201915b5050505050905082565b6201518060e6544261189391906153db565b10611920576118ab670de0b6b3a7640000606461551e565b60d7546118c1670de0b6b3a7640000606461551e565b6118cb919061537d565b6035546118d8919061551e565b6118e2919061554b565b60e58190554260e6556040519081527fd103db6eec024592fa6d47db028ec6408076ac4762eb021a6e52b525828bab9b906020015b60405180910390a15b565b60ea5481111561194557604051630ad1e31b60e01b815260040160405180910390fd5b8060ea600082825461195791906153db565b909155505060f95460009061199890611986906402540be40090600160801b90046001600160801b031661551e565b61198e6113a8565b849190600161390c565b905060003360c954604051632770a7eb60e21b81529192506001600160a01b031690639dc29fac906119d090849086906004016155ad565b600060405180830381600087803b1580156119ea57600080fd5b505af11580156119fe573d6000803e3d6000fd5b505050508260f36000828254611a14919061537d565b925050819055508160f46000828254611a2d919061537d565b90915550611a459050611a3e613f97565b8285613fab565b60408051848152602081018490526001600160a01b038316917f1fb4f167278bb29c47ac4fd58ca1586b0626b52807f2991ef78abdbb97bb4333910160405180910390a2505050565b600082611a9a81614006565b611aa38361169a565b841115611ac35760405163577e19eb60e11b815260040160405180910390fd5b6000611ace85612cc9565b9050611adc8186600161404a565b611ae833858784614124565b91505b5092915050565b60d58160028110611b0257600080fd5b0154905081565b6001600160a01b031660009081526033602052604090205490565b611b2c613df2565b6119206000614194565b60ce5460009033906001600160a01b03168114611b665760405163231f644160e11b815260040160405180910390fd5b6000611b7285856154fe565b90506000611b7f60355490565b60f95460de54919250600091611bed916001600160801b0316908490611ba3612ba1565b611bad91906154fe565b611bb7919061551e565b611bc1919061554b565b60f95460d3546001600160801b0390911690611bde90869061551e565b611be8919061554b565b6141e6565b9050808313611bfc5782611bfe565b805b60f9549093508290611c19906001600160801b0316856155c6565b611c2391906155f6565b60de6000828254611c3491906153bb565b909155505060f954611c5690600160801b90046001600160801b0316846155f6565b60f06000828254611c6791906153bb565b909155505060de5460dd55611c7a61396b565b60e28054906000611c8a83615624565b90915550504260e355611c9d83886153bb565b60e455611ca8611881565b60e25460e45460dd54604080518b8152602081018b90529081019290925260608201526001600160a01b038616907f115621a72d6f59323a1d752b116219634bc004cadb85d6bdc8e7eb254905722d9060800160405180910390a3505060e45495945050505050565b33611d25611d1d613f97565b8230856141fc565b60355460f9546001600160801b0380821691611d4a91600160801b909104168561551e565b611d54919061551e565b611d5e919061554b565b60df6000828254611d6f919061537d565b90915550611d7d905061396b565b8160ef6000828254611d8f919061537d565b925050819055508160ed6000828254611da8919061537d565b90915550506040518281526001600160a01b038216907fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea69060200160405180910390a25050565b600082611dfb81614006565b611e0483612c9a565b841115611e24576040516334f87ee160e11b815260040160405180910390fd5b6000611e2f8561299d565b9050611e3d8582600161404a565b611ae833858388614124565b6060603780546111e690615438565b611e60613b59565b611e73670de0b6b3a7640000600a61551e565b811115611e9357604051630ad1e31b60e01b815260040160405180910390fd5b60da8190556040518181527f62412ddbb9ad43638b3b9f4506160bc417a547fd57bfacef427820562bcc156090602001611521565b60003381611ed6828661336e565b905083811015611f365760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016115e6565b611f438286868403613cba565b506001949350505050565b33611f62611f5a613f97565b8230866141fc565b60dd5483906000138015611f785750600060de54125b15611fd45760006064670de0b6b3a764000060d85487611f98919061551e565b611fa2919061554b565b611fac919061554b565b90508060ea6000828254611fc0919061537d565b90915550611fd0905081836153db565b9150505b6000611fdf60355490565b60f9546001600160801b038082169161200191600160801b909104168561551e565b61200b919061551e565b612015919061554b565b90508060de600082825461202991906154fe565b9091555061203790506136b8565b8060e0600082825461204991906154fe565b925050819055508160f0600082825461206291906154fe565b925050819055508160ee600082825461207b91906154fe565b9091555061208990506112ee565b612091611881565b836001600160a01b0316836001600160a01b03167f2083893e39f8ae736fed502f7e149cc5bfe6159878615fae685a9a98bc452d5a87856040516120df929190918252602082015260400190565b60405180910390a35050505050565b6001600160a01b038216600090815260e76020908152604080832084845290915290205483111561213257604051630ad1e31b60e01b815260040160405180910390fd5b33600061213f848361336e565b9050836001600160a01b0316826001600160a01b03161415801561216a575080158061216a57508481105b1561218857604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b038416600090815260e760209081526040808320868452909152812080548792906121bb9084906153db565b9250508190555082846001600160a01b0316836001600160a01b03167f443ccdbbbde35bd48740a9ea14c47318b735db4631ed1ebcdaaaa9f4636c84ea8860e254604051612213929190918252602082015260400190565b60405180910390a45050505050565b60ce5460408051632e3fbb9960e21b815290516000926001600160a01b03169163b8feee649160048083019260209291908290030181865afa15801561226c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612290919061530f565b11156122af5760405163a73449b960e01b815260040160405180910390fd5b3360006122bc838361336e565b9050826001600160a01b0316826001600160a01b0316141580156122e757508015806122e757508381105b1561230557604051631eb49d6d60e11b815260040160405180910390fd5b61230e83611b09565b8461231885612866565b612322919061537d565b111561234157604051630ad1e31b60e01b815260040160405180910390fd5b600061234b613211565b60e254612358919061537d565b6001600160a01b038516600090815260e76020908152604080832084845290915281208054929350879290919061239090849061537d565b9250508190555080846001600160a01b0316846001600160a01b03167f21b8e5e36008677ea26efbbc967e568e01b127f731ed0fda0a8685fda37d0d5f8860e254604051612213929190918252602082015260400190565b600054610100900460ff16158080156124085750600054600160ff909116105b806124225750303b158015612422575060005460ff166001145b61243e5760405162461bcd60e51b81526004016115e69061555f565b6000805460ff191660011790558015612461576000805461ff0019166101001790555b8a516001600160a01b031615801590612486575060208b01516001600160a01b031615155b801561249e575060408b01516001600160a01b031615155b80156124b6575060608b01516001600160a01b031615155b80156124dc57508a604001516001600160a01b03168b602001516001600160a01b031614155b801561250257508a606001516001600160a01b03168b604001516001600160a01b031614155b801561251a575060808b01516001600160a01b031615155b8015612532575060a08b01516001600160a01b031615155b801561254a575060c08b01516001600160a01b031615155b8015612562575060e08b01516001600160a01b031615155b801561257c57506101008b0151516001600160a01b031615155b8015612592575060008b61010001516020015151115b80156125b057506125ac600a670de0b6b3a764000061554b565b8810155b80156125c0575086516020880151115b80156125de57506125da670de0b6b3a7640000603261551e565b8611155b80156125fc57506125f8670de0b6b3a7640000601961551e565b8511155b801561261a57506126166014670de0b6b3a764000061554b565b8411155b80156126385750612634670de0b6b3a7640000600a61551e565b8311155b80156126565750612652670de0b6b3a7640000606461551e565b8210155b6126735760405163bd95487760e01b815260040160405180910390fd5b6126858c600001518d60200151614234565b8a5161269090614269565b61269d8b60200151614194565b60808b015160c980546001600160a01b03199081166001600160a01b039384161790915560a08d015160ca8054831691841691909117905560408d015160cb8054831691841691909117905560608d015160cc8054831691841691909117905560c08d015160cd8054831691841691909117905560e08d015160ce805483169184169190911790556101008d0151805160cf80549093169316929092178155602082015160d09061274e90826156a1565b50505060d18a905560d389905560d488905561276d60d5886002614be6565b5060d786905560d885905560d984905560da83905560db829055670de0b6b3a764000060dc55600160e28190554260e35560408051606081018252600380825260026020830152918101929092526127c79160d291614c24565b50801561280e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050505050565b6000338261282982611b09565b61283391906153db565b61283c82612866565b111561285b5760405163423023f160e01b815260040160405180910390fd5b6112d78185856139c7565b60e2546000905b60d26000815481106128815761288161563d565b906000526020600020015460e254612899919061537d565b81116128df576001600160a01b038316600090815260e7602090815260408083208484529091529020546128cd908361537d565b91506128d881615624565b905061286d565b50919050565b6000836128f181614006565b836128fb81614299565b61290484612c9a565b86111561292457604051630ad1e31b60e01b815260040160405180910390fd5b600061292f8761299d565b905061299281612946612940612c29565b896130c5565b612959670de0b6b3a7640000606461551e565b612963919061537d565b612976670de0b6b3a7640000606461551e565b612980908561551e565b61298a919061554b565b898989614304565b979650505050505050565b60006112c3826001613c79565b6000836129b681614006565b6129bf83612fd7565b8511156129df576040516322640cab60e21b815260040160405180910390fd5b60006129ea866112e1565b6001600160a01b038516600090815260e76020908152604080832060e2548452909152812080549293508392909190612a249084906153db565b90915550612a3690508187600061404a565b612a4333868689856144a0565b95945050505050565b612a54613b59565b80516001600160a01b0316612a7c57604051639fabe1c160e01b815260040160405180910390fd5b806020015151600003612aa2576040516391a0152960e01b815260040160405180910390fd5b805160cf80546001600160a01b0319166001600160a01b03909216919091178155602082015182919060d090612ad890826156a1565b509050507f2763c7adb1b7018e25499ef5553ec78e35bb46be6384b393861c35d501825dce816040516115219190615760565b600083612b1781614006565b612b20836132b5565b851115612b4057604051631f610d9760e21b815260040160405180910390fd5b6001600160a01b038316600090815260e76020908152604080832060e254845290915281208054879290612b759084906153db565b9091555060009050612b86866112b6565b9050612b948682600061404a565b612a43338686848a6144a0565b600060df54670de0b6b3a7640000610e34919061537d565b612bc1613b59565b612bd46014670de0b6b3a764000061554b565b811115612bf457604051630ad1e31b60e01b815260040160405180910390fd5b60d98190556040518181527f66ee70a6a35d8163de2516f1e2f30b75155c34b6f85704fc3fc7ea30d590322c90602001611521565b600080612c34612ba1565b905080670de0b6b3a7640000600060dd5413612c685760dd54612c59906000196155c6565b612c63908461537d565b612c75565b60dd54612c7590846153db565b612c8090606461551e565b612c8a919061551e565b612c94919061554b565b91505090565b60008060dd5413612cad576000196112c3565b612cbc60e554611be860355490565b60e5546112c391906153db565b60006112c3826000613dd6565b600060dd5413612cf957604051637c7a1c4760e01b815260040160405180910390fd5b6000612d0460355490565b9050670de0b6b3a76400008160dd54612d1d919061551e565b612d27919061554b565b821115612d4757604051630ad1e31b60e01b815260040160405180910390fd5b6201518060ec5442612d5991906153db565b10612d6857600060eb554260ec555b6000612d726113a8565b60f9546402540be40090612d9690600160801b90046001600160801b03168661551e565b612da0919061551e565b612daa919061554b565b90508060eb6000828254612dbe919061537d565b925050819055506064670de0b6b3a764000060c960009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e47919061530f565b60d954612e54919061551e565b612e5e919061554b565b612e68919061554b565b60eb541115612e8a57604051631ef6784960e21b815260040160405180910390fd5b33612e9e612e96613f97565b8230876141fc565b600083612eb3670de0b6b3a76400008761551e565b612ebd919061554b565b90508060de6000828254612ed191906154fe565b925050819055508060dd6000828254612eea91906154fe565b90915550612ef8905061396b565b8460f56000828254612f0a919061537d565b925050819055508260f66000828254612f23919061537d565b909155505060c9546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612f5a90859087906004016155ad565b600060405180830381600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505060408051888152602081018790526001600160a01b03861693507f19aee2c21e4d63823896cb2a77a3e61197dda70b1043a55fca38aa8d75c0edd392500160405180910390a25050505050565b60006112c36116a8836132b5565b612fed613b59565b613000670de0b6b3a7640000601961551e565b81111561302057604051630ad1e31b60e01b815260040160405180910390fd5b60d88190556040518181527fc4a0569383a33078b4dbc3e6c6c38c52e7e97b219ea9e04d1b58c2745e4d2bb490602001611521565b61305d613b59565b613070670de0b6b3a7640000606461551e565b811015613090576040516310906acb60e01b815260040160405180910390fd5b60db8190556040518181527fc3d15eac433007c433395eb171cde0d63e1c539dae45c0ae13358aebdfa36a5190602001611521565b60006301e13380826130e0670de0b6b3a7640000606461551e565b8511156131425760db548511156130f8576000613146565b61310b670de0b6b3a7640000606461551e565b60db5461311891906153db565b8560db5461312691906153db565b60da54613133919061551e565b61313d919061554b565b613146565b60da545b613150919061551e565b611580919061554b565b613162613df2565b6001600160a01b03811661318957604051639fabe1c160e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517feb2ba7073d8ab13643a6179f01ba04f1b7a13d7f13e1f441bbaa78efca23b46490611521908390614d93565b6131dc613df2565b60d38190556040518181527fe1234c40b9946a154de19c53ced4025fa9a4a656cc61779e91d0a9c791529c6b90602001611521565b60008061321c612c29565b9050600061323782611be8670de0b6b3a7640000606461551e565b61324190836153db565b60d654909150811161328e5760d554811161327a5760d260008154811061326a5761326a61563d565b90600052602060002001546132ae565b60d260018154811061326a5761326a61563d565b60d26002815481106132a2576132a261563d565b90600052602060002001545b9250505090565b60ce5460408051632e3fbb9960e21b815290516000926001600160a01b03169163b8feee649160048083019260209291908290030181865afa1580156132ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613323919061530f565b1561332f5760006112c3565b6001600160a01b038216600090815260e76020908152604080832060e25484529091529020546112c390600161336460355490565b611be891906153db565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6133a1613b59565b6001600160a01b0381166133c857604051639fabe1c160e01b815260040160405180910390fd5b6097546001600160a01b03828116911614806133f1575060cb546001600160a01b038281169116145b1561340f57604051632635240760e21b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383161790556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d90611521908390614d93565b6000670de0b6b3a764000061346e60355490565b611493612ba1565b60cd5433906001600160a01b031681146134a3576040516305f2713d60e31b815260040160405180910390fd5b60f9546000906134e6906134ca906001600160801b0380821691600160801b900416615390565b6001600160801b03166134dc60355490565b869190600161390c565b90508060de60008282546134fa91906153bb565b909155506135089050612ba1565b60de54131561352a57604051630de1bf7560e21b815260040160405180910390fd5b6135326136b8565b8060e0600082825461354491906153bb565b909155505060d45460e054131561356e576040516375b071b760e01b815260040160405180910390fd5b8360f0600082825461358091906153bb565b925050819055508360ee600082825461359991906153bb565b909155506135a790506112ee565b6135af611881565b6135c16135ba613f97565b8486613fab565b826001600160a01b0316826001600160a01b03167f17ffe64fb2212f31d60284d6471e06abb7db8d66f0a60f9b884b29f1597d05da8660405161360691815260200190565b60405180910390a350505050565b6136566040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b50600090815260e96020908152604091829020825160c08101845281546001600160a01b03168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6201518060e154426136ca91906153db565b1061192057600060e08190554260e1556040517fa047de172c12fcf40e0ff45a86ac45befb232ae644862699ef140a8c5f763b419190a1565b60008361370f81614006565b8361371981614299565b600061372e670de0b6b3a7640000606461551e565b61373f613739612c29565b886130c5565b613752670de0b6b3a7640000606461551e565b61375c919061537d565b613766908961551e565b613770919061554b565b905061377b8561169a565b81111561379b57604051630ad1e31b60e01b815260040160405180910390fd5b61299281886137a984612cc9565b8989614304565b6137b8613df2565b6001600160a01b0381166137e2576000604051631e4fbdf760e01b81526004016115e69190614d93565b60cb546001600160a01b038281169116148061380b575060cc546001600160a01b038281169116145b1561382957604051632635240760e21b815260040160405180910390fd5b6112b381614194565b61383a613df2565b805160208201511161385f5760405163bd95487760e01b815260040160405180910390fd5b61386c60d5826002614be6565b507f8472b50e25b52d8de564f9719bd793b18d83cf59ce4d309e211fb6a4fdc1481181604051611521919061578d565b6138a4613b59565b6138b7670de0b6b3a7640000603261551e565b8111156138d757604051630ad1e31b60e01b815260040160405180910390fd5b60d78190556040518181527f484c943d66ffcec2016496d14da4bca3a349f387e1208e697f274612de7299c190602001611521565b60008061391a86868661453d565b90506001836002811115613930576139306157be565b14801561394d57506000848061394857613948615535565b868809115b156139605761395d60018261537d565b90505b90505b949350505050565b600060dd541361397c576000613980565b60dd545b613988612ba1565b61399291906153db565b60dc8190556040519081527f547c25b7a5677a006ff044a0e4b5e699598339825e7b42d3dc645117ceee805090602001611917565b6001600160a01b038316613a2b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016115e6565b6001600160a01b038216613a8d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016115e6565b6001600160a01b03831660009081526033602052604090205481811015613b055760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016115e6565b6001600160a01b03808516600081815260336020526040808220868603905592861680825290839020805486019055915160008051602061594c833981519152906136069086815260200190565b50505050565b60cb546001600160a01b0316336001600160a01b0316146119205760405163605919ad60e11b815260040160405180910390fd5b6000826001600160a01b031682604051602401613baa9190614d93565b60408051601f198184030181529181526020820180516001600160e01b03166317066a5760e21b17905251613bdf919061546c565b6000604051808303816000865af19150503d8060008114613c1c576040519150601f19603f3d011682016040523d82523d6000602084013e613c21565b606091505b50509050816001600160a01b0316836001600160a01b03167fb1247c60c1f535e393496ecb92a45670b346b057bf9e382c99cb0dca11ee8abc83604051613c6c911515815260200190565b60405180910390a3505050565b600060001983148015613c965750670de0b6b3a764000060dc5410155b15613ca25750816112c3565b60dc54611580908490670de0b6b3a76400008561390c565b6001600160a01b038316613d1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016115e6565b6001600160a01b038216613d7d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016115e6565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101613c6c565b60dc54600090611580908490670de0b6b3a7640000908561390c565b6097546001600160a01b031633146119205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016115e6565b6000613e58848461336e565b90506000198114613b535781811015613eb35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016115e6565b613b538484848403613cba565b600080606554610e349190600160a01b900460ff166157d4565b60408051808201909152600080825260208201526000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f5291906157ed565b60ff169050613f6281600a6158f4565b6001600160801b03168252613f788160126153db565b613f8390600a6158f4565b6001600160801b0316602083015250919050565b6000610e346065546001600160a01b031690565b6140018363a9059cbb60e01b8484604051602401613fca9291906155ad565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614627565b505050565b60dc5460000361402957604051637294708f60e11b815260040160405180910390fd5b806000036112b357604051630b13e60d60e31b815260040160405180910390fd5b600061405560355490565b9050600060de5412156140a057816140765761407184826153db565b614080565b614080848261537d565b8160de5461408e91906155c6565b61409891906155f6565b60de556140f5565b600060de5413156140f557816140b8576000196140bb565b60015b8160f054866140ca91906155c6565b6140d491906155f6565b6140de91906155c6565b60f060008282546140ef91906153bb565b90915550505b8161410d578260ed5461410891906153db565b61411b565b8260ed5461411b919061537d565b60ed5550505050565b60655461413c906001600160a01b03168530856141fc565b61414683826146fc565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78484604051613606929190918252602082015260400190565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008183106141f55781611580565b5090919050565b6040516001600160a01b0380851660248301528316604482015260648101829052613b539085906323b872dd60e01b90608401613fca565b600054610100900460ff1661425b5760405162461bcd60e51b81526004016115e690615900565b61426582826147ab565b5050565b600054610100900460ff166142905760405162461bcd60e51b81526004016115e690615900565b6112b3816147eb565b60da546000036142bc576040516350725e4f60e01b815260040160405180910390fd5b60d1548110156142df576040516310906acb60e01b815260040160405180910390fd5b6301e133808111156112b357604051630ad1e31b60e01b815260040160405180910390fd5b60008486116143265760405163a4e993e160e01b815260040160405180910390fd5b600060e86000815461433790615624565b91829055509050600061434a87896153db565b600083815260e96020526040902080546001600160a01b0319166001600160a01b0387161781556001808201899055600282018a90556003820183905542600483015560058201889055919250906143a59088908a9061404a565b336143b281308b8b614124565b8260f260008282546143c4919061537d565b925050819055508260f160008282546143dd919061537d565b909155505060ca546040516340c10f1960e01b81526001600160a01b03909116906340c10f199061441490899088906004016155ad565b600060405180830381600087803b15801561442e57600080fd5b505af1158015614442573d6000803e3d6000fd5b505083546040516001600160a01b03918216935090841691507f5d26cdffbd8401ba2a961d2094f7f008ee7bd735ac02a949721ee0fd0f0d5afc9061448a90889087906153ee565b60405180910390a3509198975050505050505050565b826001600160a01b0316856001600160a01b0316146144c4576144c4838683613e4c565b6144ce8382614870565b6065546144e5906001600160a01b03168584613fab565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051612213929190918252602082015260400190565b60008080600019858709858702925082811083820303915050806000036145775783828161456d5761456d615535565b0492505050611580565b8084116145be5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016115e6565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600061467c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166149929092919063ffffffff16565b905080516000148061469d57508080602001905181019061469d9190615345565b6140015760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016115e6565b6001600160a01b0382166147525760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016115e6565b8060356000828254614764919061537d565b90915550506001600160a01b03821660008181526033602090815260408083208054860190555184815260008051602061594c833981519152910160405180910390a35050565b600054610100900460ff166147d25760405162461bcd60e51b81526004016115e690615900565b60366147de83826156a1565b50603761400182826156a1565b600054610100900460ff166148125760405162461bcd60e51b81526004016115e690615900565b60008061481e836149a1565b915091508161482e576012614830565b805b606580546001600160a01b039095166001600160a01b031960ff93909316600160a01b02929092166001600160a81b031990951694909417179092555050565b6001600160a01b0382166148d05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016115e6565b6001600160a01b038216600090815260336020526040902054818110156149445760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016115e6565b6001600160a01b038316600081815260336020908152604080832086860390556035805487900390555185815291929160008051602061594c833981519152910160405180910390a3505050565b60606139638484600085614a7d565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b038716916149e89161546c565b600060405180830381855afa9150503d8060008114614a23576040519150601f19603f3d011682016040523d82523d6000602084013e614a28565b606091505b5091509150818015614a3c57506020815110155b15614a7057600081806020019051810190614a57919061530f565b905060ff8111614a6e576001969095509350505050565b505b5060009485945092505050565b606082471015614ade5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016115e6565b600080866001600160a01b03168587604051614afa919061546c565b60006040518083038185875af1925050503d8060008114614b37576040519150601f19603f3d011682016040523d82523d6000602084013e614b3c565b606091505b50915091506129928783838760608315614bb7578251600003614bb0576001600160a01b0385163b614bb05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016115e6565b5081613963565b6139638383815115614bcc5781518083602001fd5b8060405162461bcd60e51b81526004016115e69190614d1e565b8260028101928215614c14579160200282015b82811115614c14578251825591602001919060010190614bf9565b50614c20929150614c64565b5090565b828054828255906000526020600020908101928215614c14579160200282015b82811115614c14578251829060ff16905591602001919060010190614c44565b5b80821115614c205760008155600101614c65565b6001600160a01b03811681146112b357600080fd5b8035614c9981614c79565b919050565b60008060408385031215614cb157600080fd5b823591506020830135614cc381614c79565b809150509250929050565b60005b83811015614ce9578181015183820152602001614cd1565b50506000910152565b60008151808452614d0a816020860160208601614cce565b601f01601f19169290920160200192915050565b6020815260006115806020830184614cf2565b600060208284031215614d4357600080fd5b813561158081614c79565b600060208284031215614d6057600080fd5b5035919050565b60008060408385031215614d7a57600080fd5b8235614d8581614c79565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600080600060608486031215614dbc57600080fd5b8335614dc781614c79565b92506020840135614dd781614c79565b929592945050506040919091013590565b6001600160a01b038316815260406020820181905260009061396390830184614cf2565b60008060408385031215614e1f57600080fd5b50508035926020909101359150565b600080600060608486031215614e4357600080fd5b833592506020840135614dd781614c79565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614e8d57614e8d614e55565b60405290565b60405161012081016001600160401b0381118282101715614e8d57614e8d614e55565b60006001600160401b0380841115614ed057614ed0614e55565b604051601f8501601f19908116603f01168101908282118183101715614ef857614ef8614e55565b81604052809350858152868686011115614f1157600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112614f3c57600080fd5b61158083833560208501614eb6565b600060408284031215614f5d57600080fd5b614f65614e6b565b905081356001600160401b0380821115614f7e57600080fd5b614f8a85838601614f2b565b83526020840135915080821115614fa057600080fd5b50614fad84828501614f2b565b60208301525092915050565b600060408284031215614fcb57600080fd5b614fd3614e6b565b90508135614fe081614c79565b815260208201356001600160401b03811115614ffb57600080fd5b8201601f8101841361500c57600080fd5b614fad84823560208401614eb6565b6000610120828403121561502e57600080fd5b615036614e93565b905061504182614c8e565b815261504f60208301614c8e565b602082015261506060408301614c8e565b604082015261507160608301614c8e565b606082015261508260808301614c8e565b608082015261509360a08301614c8e565b60a08201526150a460c08301614c8e565b60c08201526150b560e08301614c8e565b60e0820152610100808301356001600160401b038111156150d557600080fd5b6150e185828601614fb9565b82840152505092915050565b600082601f8301126150fe57600080fd5b604051604081018181106001600160401b038211171561512057615120614e55565b806040525080604084018581111561513757600080fd5b845b81811015615151578035835260209283019201615139565b509195945050505050565b60008060008060008060008060008060006101808c8e03121561517e57600080fd5b6001600160401b03808d35111561519457600080fd5b6151a18e8e358f01614f4b565b9b508060208e013511156151b457600080fd5b506151c58d60208e01358e0161501b565b995060408c0135985060608c0135975060808c013596506151e98d60a08e016150ed565b9a9d999c50979a9699959895975050505060e08401359361010081013593610120820135935061014082013592506101609091013590565b60008060006060848603121561523657600080fd5b8335925060208401359150604084013561524f81614c79565b809150509250925092565b60008060006060848603121561526f57600080fd5b83359250602084013561528181614c79565b9150604084013561524f81614c79565b6000602082840312156152a357600080fd5b81356001600160401b038111156152b957600080fd5b61396384828501614fb9565b600080604083850312156152d857600080fd5b82356152e381614c79565b91506020830135614cc381614c79565b60006040828403121561530557600080fd5b61158083836150ed565b60006020828403121561532157600080fd5b5051919050565b60006020828403121561533a57600080fd5b815161158081614c79565b60006020828403121561535757600080fd5b8151801515811461158057600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156112c3576112c3615367565b6001600160801b038181168382160280821691908281146153b3576153b3615367565b505092915050565b80820182811260008312801582168215821617156153b3576153b3615367565b818103818111156112c3576112c3615367565b91825280546001600160a01b03166020830152600181015460408301526002810154606083015260038101546080830152600481015460a08301526005015460c082015260e00190565b600181811c9082168061544c57607f821691505b6020821081036128df57634e487b7160e01b600052602260045260246000fd5b6000825161547e818460208701614cce565b9190910192915050565b600080835461549681615438565b600182811680156154ae57600181146154c3576154f2565b60ff19841687528215158302870194506154f2565b8760005260208060002060005b858110156154e95781548a8201529084019082016154d0565b50505082870194505b50929695505050505050565b8181036000831280158383131683831282161715611aeb57611aeb615367565b80820281158282048414176112c3576112c3615367565b634e487b7160e01b600052601260045260246000fd5b60008261555a5761555a615535565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03929092168252602082015260400190565b80820260008212600160ff1b841416156155e2576155e2615367565b81810583148215176112c3576112c3615367565b60008261560557615605615535565b600160ff1b82146000198414161561561f5761561f615367565b500590565b60006001820161563657615636615367565b5060010190565b634e487b7160e01b600052603260045260246000fd5b601f82111561400157600081815260208120601f850160051c8101602086101561567a5750805b601f850160051c820191505b8181101561569957828155600101615686565b505050505050565b81516001600160401b038111156156ba576156ba614e55565b6156ce816156c88454615438565b84615653565b602080601f83116001811461570357600084156156eb5750858301515b600019600386901b1c1916600185901b178555615699565b600085815260208120601f198616915b8281101561573257888601518255948401946001909101908401615713565b50858210156157505787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282516001600160a01b0316828201528201516040808301526000906139636060840182614cf2565b60408101818360005b60028110156157b5578151835260209283019290910190600101615796565b50505092915050565b634e487b7160e01b600052602160045260246000fd5b60ff81811683821601908111156112c3576112c3615367565b6000602082840312156157ff57600080fd5b815160ff8116811461158057600080fd5b600181815b8085111561584b57816000190482111561583157615831615367565b8085161561583e57918102915b93841c9390800290615815565b509250929050565b600082615862575060016112c3565b8161586f575060006112c3565b8160018114615885576002811461588f576158ab565b60019150506112c3565b60ff8411156158a0576158a0615367565b50506001821b6112c3565b5060208310610133831016604e8410600b84101617156158ce575081810a6112c3565b6158d88383615810565b80600019048211156158ec576158ec615367565b029392505050565b60006115808383615853565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f63c4819036afdfe56c7a65592d84e19672289f904b6829e54537443277e49a664736f6c63430008110033";
2913
+ const isSuperArgs = (xs) => xs.length > 1;
2914
+ class GToken__factory extends ethers_1.ContractFactory {
2915
+ constructor(...args) {
2916
+ if (isSuperArgs(args)) {
2917
+ super(...args);
2918
+ }
2919
+ else {
2920
+ super(_abi, _bytecode, args[0]);
2921
+ }
2922
+ }
2923
+ deploy(overrides) {
2924
+ return super.deploy(overrides || {});
2925
+ }
2926
+ getDeployTransaction(overrides) {
2927
+ return super.getDeployTransaction(overrides || {});
2928
+ }
2929
+ attach(address) {
2930
+ return super.attach(address);
2931
+ }
2932
+ connect(signer) {
2933
+ return super.connect(signer);
2934
+ }
2935
+ static createInterface() {
2936
+ return new ethers_1.utils.Interface(_abi);
2937
+ }
2938
+ static connect(address, signerOrProvider) {
2939
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
2940
+ }
2941
+ }
2942
+ exports.GToken__factory = GToken__factory;
2943
+ GToken__factory.bytecode = _bytecode;
2944
+ GToken__factory.abi = _abi;